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 ...
随机推荐
- node-sass 安装失败的解决措施
在测试gulp-webapp的时候遇到了styles不能被正常编译的问题,究其原因是node-sass没有被正常安装. 根本原因是国内网络的原因. 最终的解决方法是通过淘宝的npm镜像安装node-s ...
- C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”
Q: 在反序列化 Xml 字符串为 Xml 对象时,抛出如下异常. 即在 XML文档(0, 0)中有一个错误:缺少根元素. A: 首先看下代码: StringBuilder sb = new Stri ...
- 移动应用App测试与质量管理一
测试工程师 基于Html的WebApp测试, 现在一些移动App混Html5 HTML5性能测试 兼容性 整理后的脑图 测试招聘 弱化大量技术考察 看重看问题的高度 看重潜力 测试经验 质量管理 专项 ...
- 如何使用dos命令打开当前用户、当前日期、当前时间以及当前用户加当前时间?
1.dos命令安装mysqld --stall.启动net start mysql.进入MySQL数据库mysql -uroot -p后,输入select user();当前用户 select cur ...
- C#与yaml解析
YAML 官方网站称 YAML 是"一种所有编程语言可用的友好的数据序列化标准".YAML Ain't Markup Language,和GNU一样,YAML是一个递归着说&quo ...
- 【腾讯优测干货分享】如何降低App的待机内存(三)——探索内存增长的原因
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/8BiKIt3frq9Yv9KV5FXlGw 1.3新问题的进一步挖 ...
- Java:Double Brace Initialization
在我刚刚接触现在这个产品的时候,我就在我们的代码中接触到了对Double Brace Initialization的使用.那段代码用来初始化一个集合: final Set<String> ...
- 再见Windows C++
我3年多以前写过一个小工具,是用来检测Windows操作系统的版本及其所安装的.NET Framework版本的,我用它来排查由于缺乏运行环境支持所导致的程序无法运行的问题.这个工具是用Visual ...
- 使用Metrics监控应用程序的性能
在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对 ...
- ASP.NET Web API 控制器执行过程(一)
ASP.NET Web API 控制器执行过程(一) 前言 前面两篇讲解了控制器的创建过程,只是从框架源码的角度去简单的了解,在控制器创建过后所执行的过程也是尤为重要的,本篇就来简单的说明一下控制器在 ...