wxWidgets
wxWidgets
Code::Blocks环境
Code::Blocks下载:
Code::Blocks使用:
codeblocks-16.01mingw-setup.exe
它的gcc版本为4.9.2,也可在设置中对其进行更改
## wxMSW-3.1.0_gcc492下载: ##
Code::Blocks配置:
解压wxMSW-3.1.0_gcc492TDM_Dev.7z与wxWidgets-3.1.0-headers.7z到同一目录:X:\wxMSW-3.1.0_gcc492TDM
在环境变量里添加一个wxWidgets根目录环境变量,新增的用户变量命名为wxwin,值为X:\wxMSW-3.1.0_gcc492TDM
打开Code::Blocks,选择菜单Settings->Global Variables…,在设置default下新建立一个wx变量,在Build-in fields:下,base中填入“${wxwin}”(wxwin是刚才设置好的一个变量),include中填入“${wxwin}\include”,lib中填入“${wxwin}\lib”
新建项目:
建立项目
建立项目的过程
通过菜单“File”->“New”->“Project…”,选择“Empty project”建一个项目。
点击菜单File->New->File...为项目新建一个源程序文件,main.cpp:
#include <wx/wx.h>
class Simple : public wxFrame
{
public:
Simple(const wxString & title);
};
Simple::Simple(const wxString & title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 150))
{
Centre();
}
class MyApp : public wxApp
{
public:
virtual bool OnInit();
};
IMPLEMENT_APP(MyApp)
bool MyApp::OnInit()
{
Simple * simple = new Simple(wxT("Simple"));
simple->Show(true);
return true;
}
选菜单Project->Build options...,在选项卡Search directories中,设置Compiler。通过“Add”增加目录X:\wxMSW-3.1.0_gcc492TDM\include和X:\wxMSW-3.1.0_gcc492TDM\lib\gcc_dll\mswud,最好include在上mswud在下。(debug版用mswud,release版用mswu)
选菜单Project->Build options...,在选项卡Linker settings中,需要加入要连接的“目标文件”。如图所示,通过Add按钮加入X:\wxMSW-3.1.0_gcc492TDM\lib\gcc_dll文件夹中的所有.a文件
此时编译即可通过。
利用Code::Blocks的向导建立
使用向导建一个“wxWidgets project”项目。
GUI设计工具和程序类型,用wxSmith和Dialog based。如果设置了“Code::Blocks配置”,wxWidgets'location直接填入“$(#wx)”就可以了,否则设置为X:\wxMSW-3.1.0_gcc492TDM目录。
wxWidgets Library Settings选择Enable unicode
选择Configure Advanced Options
选择Use _WXDEBUG_ and Debug wxWidgets lib
选择GUI Mode Application
生成的程序源码:
程序运行:
程序运行时需要一些dll,到wxMSW-3.1.0_gcc492TDM_ReleaseDLL.7z中寻找,放到程序目录即可启动。
VS2010环境
wxMSW-3.1.0_vc100下载:
项目
把wxMSW-3.1.0_vc100_Dev.7z与wxWidgets-3.1.0-headers.7z解压到 X:\wxMSW-3.1.0_vc100_Dev
新建win32项目 windows应用程序 空项目
附加包含目录
- X:\wxMSW-3.1.0_vc100_Dev\include
- X:\wxMSW-3.1.0_vc100_Dev\lib\vc_lib\mswud(debug)
- X:\wxMSW-3.1.0_vc100_Dev\lib\vc_lib\mswu(release)
添加附加依赖项:
wxbase31ud_net.lib
wxmsw31ud_html.lib
wxbase31ud_xml.lib
wxmsw31ud_adv.lib
wxmsw31ud_aui.lib
wxmsw31ud_gl.lib
wxmsw31ud_media.lib
wxmsw31ud_propgrid.lib
wxmsw31ud_qa.lib
wxmsw31ud_ribbon.lib
wxmsw31ud_richtext.lib
wxmsw31ud_stc.lib
wxmsw31ud_xrc.lib
wxscintillad.lib
wxmsw31ud_core.lib
wxbase31ud.lib
wxtiffd.lib
wxjpegd.lib
wxpngd.lib
wxzlibd.lib
wxexpatd.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
odbc32.lib
头文件:
#include <wx/wx.h>
class wxMyApp:public wxApp
{
public:
virtual bool OnInit();
};
class wxMyFrame:public wxFrame
{
public:
wxMyFrame(const wxString& title);
};
源文件:
#include "头文件.h"
bool wxMyApp::OnInit()
{
wxMyFrame *pMyFrame=new wxMyFrame(_("myframe"));
pMyFrame->Show(TRUE);
return TRUE;
}
wxMyFrame::wxMyFrame(const wxString& title):wxFrame(NULL,NULL,title)
{
}
DECLARE_APP(wxMyApp);
IMPLEMENT_APP(wxMyApp);
参考:
- wxwidgets文档
- wxWidgets教程
- wxWidgets wiki
- WxSmith tutorials
- Cross-Platform GUI Programming with wxWidgets
- wxWidgets应用程序初体验
- 用wxSmith进行可视化设计
- Windows上配置Code::Blocks + wxWidgets
- VS2010下新建wxWidgets空白工程
wxWidgets的更多相关文章
- 基于libvlc和wxWidgets的简单播放器代码阅读
源代码来自 http://git.videolan.org/?p=vlc.git;a=blob_plain;f=doc/libvlc/wx_player.cpp // g++ wx_player.cp ...
- [zhuan] linux 下 wxWidgets 安装,编译
http://blog.csdn.net/yuzhenxiong0823/article/details/7727133 wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GT ...
- [wxWidgets] 2. 重访“Hello World” 程序
这是四年多来在博客园的第二篇博客.有了上一次的排版使用经验,这一篇文章应该有些进步(^_^). 闲话按下不表,言归正传.在编译.成功运行了上一个helloWorld.cpp(后文中'hw'简称hell ...
- [wxWidgets] 1. 安装及"hello world"程序
关于wxWidgets的优越已经在它的官方网站有所阐述,本文不再赘述. 本系列主要记录学习这个软件包过程中遇到的问题以及心得. 1. 安装 从源码安装虽然大多时候不是一件轻松的过程,但是基于以下两个 ...
- wxWidgets编译安装gtk问题的解决办法
下面是google到的一篇博文.我在centos5.3中想安装amule,结果编译时,提示没找到wxWidgets退出了.只好又去下了wxWidgets,还是源码,需要编译.编译中出现和下面这位网友一 ...
- VS2013搭建wxWidgets开发环境
一.安装 前往官网下载最新wxWidgets 3.0.0. https://sourceforge.net/projects/wxwindows/files/3.0.0/wxMSW-3.0.0-Set ...
- 在 wxWidgets 的介绍中看到的一句话
3. wxwidgets提供的gui是大量使用宏的,这就意味着它是在尽可能的使用目标系统native的gui样式. ——你可以访问wxwidgets网站,看看那些开发的软件的截图,全是系统native ...
- 在ubuntu上使用wxWidgets成功开发一个图形界面程序
编译wxWidgets 下载最新版的源码,wxWidgets-3.0.2.wxWidgets在liunx是通过wxGTK实现的.wxGTK和wxWidgets的源码打包在一起.wxGTK依赖GTK+, ...
- MinGW编译wxWidgets中的问题及解决方法
其实网上wxWidgets编译相关的博文,都没写到关键点上,泛泛而谈——就写了执行几个命令,就万事大吉了! 维基百科上的这个页面讲解了编译中可能遇到的各种问题及解决办法.比较懒,不想翻译.wxWidg ...
随机推荐
- Android总结之链式调用(方法链)
前言: 最近在学习总结Android属性动画的时候,发现Android的属性动画设计采用了链式调用的方式,然后又回顾了一下了以前接触的开源框架Glide也是采用链式调用的方式,还有最近火的一塌糊涂的R ...
- JavaScript模仿块级作用域
avaScript 没有块级作用域的概念.这意味着在块语句中定义的变量,实际上是在包含函数中而非语句中创建的,来看下面的例子: function outputNumbers(count){ for ( ...
- git-2.10.2-64-bit介绍&&git下载&&git安装教程
Git介绍 分布式:Git系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具. 保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态:可以在该保存点将 ...
- C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsole(1)
一看这个标题,是不去取名有点绕呢?或者是,还有些问题?报告LZ...你的标题取得有问题,是个病句!↖(^ω^)↗!!!先不要急,其实我今天带给大家的就是CoreCLR中的coreclr.其中它是在名字 ...
- 树莓派 基于Web的温度计
前言:家里的树莓派吃灰很久,于是拿出来做个室内温度展示也不错. 板子是model b型. 使用Python开发,web框架是flask,温度传感器是ds18b20 1 硬件连接 ds18b20的vcc ...
- Xcode 锁终端
锁终端 输入: <1>cd /Applications/Xcode.app 回车 结果显示: Xcode.app 输入: <2>sudo chown -hR root:whee ...
- 树莓派3B的食用方法-1(装系统 网线ssh连接)
首先要有一个树莓派3B , 在某宝买就行, 这东西基本上找到假货都难,另外国产和英国也没什么差别,差不多哪个便宜买哪个就行. 不要买店家的套餐,一个是配的东西有些不需要,有的质量也不好. 提示:除了G ...
- CSS笔记
初级篇===========================选择器============================元素选择器css:h1{color: red}html:<h1> ...
- 项目自动化建构工具gradle 入门1——输出helloWorld
先来一个简单的例子,4个步骤: 1.进入D:\work\gradle\java 目录 ,您电脑没这目录? 那辛苦自己一级一级建立起来吧 新建文件build.gradle,文件内容是: apply p ...
- JS中关于字符串的几个常用又容易忘记的方法
1>.字符串连接:concat(): 左边字符串. concat(连接的字符串1,字符串2,....); 获取指定位置的字符:charAt(): 返回指定位置的字符: 字符串.charAt(i ...