【app中文源码】【kitten源码编程】【gunz游戏源码】wxwidgets源码

时间:2024-12-27 13:38:20 来源:django web开发源码 分类:探索

1.wxWidgets的第一次使用
2.Qt和wxWidgets哪个好
3.codelite的使用
4.如何编译wxWidgets示例程序
5.如何CodeBlocks+wxWidgets+MinGW+STLPort

wxwidgets源码

wxWidgets的第一次使用

       对于C++图形用户界面(GUI)开发的选择,Qt是一个主流选项,但其需要额外安装组件,可能带来一些不便。最近,我遇到了wxWidgets,app中文源码一个跨平台的C++ GUI框架,决定体验一番。

       本文的初衷是出于个人兴趣,内容可能不够专业,仅供参考。

       简单来说,wxWidgets与Qt相似,它是一个用于构建界面的工具,支持Python版本,kitten源码编程比如著名的FileZilla界面就源于此框架。现在,我们开始它的安装和配置过程。

       首先,访问wxWidgets官网下载源码编译包,我选择Windows版本并解压至D:\Programs\Cpp\wxWidgets-3.2.2.1目录,之后以wx目录代称。gunz游戏源码

       在VS中打开wx目录下的build\msw\wx_vc.sln,针对位和位平台分别编译Debug和Release模式,总计四次,编译结果会存放在lib文件夹。

       验证项目使用时,新建一个名为HelloWx的C++空项目。在项目属性中,ccyd指标源码调整配置为所有配置和所有平台,添加wxWidgets的include和lib路径,针对和位平台分别设置子系统、链接器路径和库目录。

       在Main.cpp源文件中编写基础代码,运行后,如果能成功显示界面,名片crm源码那么说明wxWidgets已成功集成到项目中。

Qt和wxWidgets哪个好

       wxWidgets是开源的, qt不是开源的!

       ä»Žè¿™ä¸ªè§’度思考, 就像windows 和 linux 关系, 你觉得windows和linux谁好? 使用windows的人多,很大的原因是商业营销行为导致的.

       æˆ‘用wxWidgets有多年了,所以给你描述一下关于wxWidgets, 其他人少提及的东西.

       wxWidgets其实非常不错, 桌面应用完全能够胜任,效率非常高,内存以及cpu占用很可观,在windows下敢和MFC开发的软件比,在mac os下敢和object-c开发的软件比!

        而且并不是说界面和控件的外观就被固定为操作系统本地化的外观, 你完全可以将界面或者控件元素做成任意样式和形状,实现不同平台UI风格的统一化,甚至可以制作多套皮肤,然后在win7,xp,mac下外观和用户体验一个样.

       æ›´ä¸»è¦çš„是,他的源代码是完全开放的. 高阶运用的时候完全可以将某个控件类继承下来, 由于他没有private属性,所以他里面的函数和变量你全都能继承下来,然后照着源代码进行修改和调整,最后变成自己针对性的控件. 反正, 在UI上没他办不到的. 另外,他的界面控件的类是完全指针安全的, 你随便new, 然后不用管, 用完了他自己会回收,完全不用delete,当然也别delete,不然麻烦了.

       å…¶ä»–的功能其实他都有提供,比如网络库,容器,OpenGL等等, 如果觉得不理想,比如数据库,可以用www.hnnedu.com xsqlite, 线程什么的可以用std的线程或者boost的线程,网络如果觉得他的事件机制反应慢, 可以用boost::asio.

       ç¤¾åŒºä¸æ´»è·ƒ,但是你要是在上面提问, 马上就会得到回应(即便是美国的深夜), 如果是bug, 会有人直接联系原作者,非常快的就进行改正,并邮寄通知你,然后发到svn上进行更新.不过主要是英语的响应快, 中文的几乎没人搭理.

       bug是存在的, 比较冷的功能和运用可能会有bug, 可以给官方提交,一般一天左右就可以得到响应, 如果不愿意, 反正有源代码, 跟踪一下, 继承下来改改就可以了,wxWidgets是开源的, 而且里面的函数和变量只用public和protected,没有用private, 换句话说, 就是源代码中的所有函数和变量都是可以获取和使用的. 不过,一般的运用是很难碰到bug的. 谁敢说qt没有bug? 遇到qt的bug你找他, 你是付费用户吗?

       ä¸è¿‡, 移动运用确实是他的短板.

codelite的使用

       在编程世界中,Codelite是一个功能丰富的集成开发环境,它被广泛用于构建多种应用程序,包括使用wxWidgets库的项目。以下是关于如何使用Codelite进行wxWidgets项目构建和开发的详细步骤。

       首先,您需要从官方源下载并构建wxWidgets库。请注意,直接从源代码构建wxWidgets是一个较为复杂的过程,通常建议使用预编译的版本。但如果你选择从源代码构建,你将需要在指定目录下使用`cmake`工具来生成构建文件。

       接着,您需要安装Codelite。通过终端执行以下命令进行安装:

       apt-get update

       apt-get install vim g++ codelite cmake

       安装完成后,您可以直接在Codelite中打开已有项目。在不需要提升用户权限的情况下,通过创建一个自定义脚本来生成对应的workspace文件。

       创建一个名为`build.sh`的脚本文件,并输入以下内容:

       #!/bin/sh

       cmake -G "CodeLite - Unix Makefiles" DCMAKE_BUILD_TYPE=Debug

       chmod +x build.sh

       ./build.sh

       执行此脚本将生成对应的工作空间文件`####.workspace`。在Codelite中打开此文件即可加载您的项目。

       在加载项目后,您可以使用Codelite的内置构建和运行功能来执行您的程序。Codelite提供了多种构建系统支持,因此您可以在不同平台上构建和调试您的应用。

如何编译wxWidgets示例程序

       wxWidgets

       wxWidgets是一个程序开发框架/库, 允许你在Windows、Mac、Linux中使用相同的代码跨平台开发。它主要用C++写成,但也可以与其他语言绑定比如Python、Perl、Ruby。

       æœ¬æ•™ç¨‹ä¸­æˆ‘将向你展示如何在基于Debian的linux中如Ubuntu和Linux Mint中编译wxwidgets 3.0+。

       ä»Žæºç ç¼–译wxWidgets并不困难,仅仅需要几分钟。库可以按不同的方式来编译,比如静态或者动态库。

       1. 下载 wxWidgets

       ç¬¬ä¸€æ­¥ä½ éœ€è¦ä»Žwxwidgets.org下载wxWidgets源码文件。

       åšå®ŒåŽï¼Œè§£åŽ‹åˆ°ç›®å½•ã€‚

       2. 设置编译环境

       è¦ç¼–译wxwidgets,我们需要一些工具包括C++编译器,在Linux上是g++。所有这些可以通过apt-get工具从仓库中安装。

       æˆ‘们还需要wxWidgets依赖的GTK开发库。

       $ sudo apt-get install libgtk-3-dev build-essential checkinstall

       è¿™ä¸ªå«åšcheckinstall的工具允许我们为wxwidgets创建一个安装包,这样之后就可以轻松的使用包管理器来卸载。

       3. 编译 wxWidgets

       è¿›å…¥åˆ°wxWidgets解压后的目录。为了保持清洁,创建一个编译用的目录。

       $ mkdir gtk-build

       $ cd gtk-build/

       çŽ°åœ¨è¿è¡Œconfigure和make命令。每个将花费一些时间来完成。

       $ ../configure --disable-shared --enable-unicode

       $ make

       "--disable-shared"选项将会编译静态库而不是动态库。

       make命令完成后,编译就成功了。是时候安装wxWidgets到正确的目录。

       æ›´å¤šä¿¡æ¯è¯·å‚考install.txt和readme.txt,这可在wxwidgets中的/docs/gtk/目录下找到。

       4. 安装 checkinstall

       çŽ°åœ¨æˆ‘们不使用"make install"命令,我们使用checkinstall命令来创建一个wxwidgets的deb安装包。运行命令:

       $ sudo checkinstall

       checkinstall会询问几个问题,请保证在提问后提供一个版本号,否则将会失败。

       å®Œæˆè¿™ä¸€åˆ‡åŽï¼ŒwxWidgets就安装好了,deb文件也会创建在相同的目录下。

       5. 追踪安装的文件

       å¦‚果你想要检查文件安装的位置,使用dpkg命令后面跟上checkinstall提供的包名。

       $ dpkg -L package_name

       /.

       /usr

       /usr/local

       /usr/local/lib

       /usr/local/lib/libwx_baseu-3.0.a

       /usr/local/lib/libwx_gtk3u_propgrid-3.0.a

       /usr/local/lib/libwx_gtk3u_html-3.0.a

       /usr/local/lib/libwxscintilla-3.0.a

       /usr/local/lib/libwx_gtk3u_ribbon-3.0.a

       /usr/local/lib/libwx_gtk3u_stc-3.0.a

       /usr/local/lib/libwx_gtk3u_qa-3.0.a

       /usr/local/lib/libwx_baseu_net-3.0.a

       /usr/local/lib/libwxtiff-3.0.a

       6. 编译示例

       ç¼–译wxWidgets完成后就可以马上编译示例程序了。在相同的目录下,一个新的sample目录已经创建了。

       è¿›å…¥å®ƒå¹¶è¿è¡Œä¸‹é¢çš„命令

       $ compile samples

       $ cd samples/

       $ make

       make命令完成后,进入sample 子目录,这里就有一个可以马上运行的Demo程序了。

       7. 编译你的第一个程序

       ä½ å®Œæˆç¼–译demo程序后,可以写你自己的程序来编译了。这个也很简单。

       å‡è®¾ä½ ç”¨çš„是C++,这样的话你还可以使用编辑器的高亮特性。比如gedit、kate、kwrite等等。或者用全功能的IDE像Geany、Codelite、Codeblocks等等。

       ç„¶è€Œä½ çš„第一个程序只需要用一个文本编辑器来快速完成。

       å¦‚下:

       #includewx.h>

       classSimple:public wxFrame

       {

       public:

       Simple(const wxString& title)

       : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(,))

       {

       Centre();

       }

       };

       classMyApp:public wxApp

       {

       public:

       boolOnInit()

       {

       Simple*simple =newSimple(wxT("Simple"));

       simple->Show(true);

       returntrue;

       }

       };

       wxIMPLEMENT_APP(MyApp);

       çŽ°åœ¨ä¿å­˜å¹¶ç”¨ä¸‹é¢çš„命令编译。

       # compile

       $ g++ basic.cpp `wx-config --cxxflags --libs std`-o program

       # run

       $ ./program

如何CodeBlocks+wxWidgets+MinGW+STLPort

       æœ€è¿‘在做CodeBlocks+wxWidgets+MinGW的开发,编译时提示wcout出错,在网上搜索了一个,发现这是MinGW的一个limitation:不支持unicode。网上提供的解决办法是用STLPort替代MinGW的STL库。按照网上提供的步骤,从SourceForge下载源代码,编译,出错。经过分析,发现网上很多文章都缺少了一些重要的步骤:安装MSYS。下面是我的编译过程:

       1. 下载STLPort源代码:/projects/stlport/。假定解压目录为C:/STLPort

       2. 下载并安装CodeBlocks和MinGW或带MinGW的CodeBlocks,假定MinGW安装路径为C:/CodeBlocks/MinGW。不要忘记把C:/CodeBlocks/MinGW/bin加到Path环境变量里

       3. 下载并安装MSYS:http://www.mingw.org/wiki/msys 并设置MinGW的安装路径(这篇文章讲得很清楚)

       4. 打开MSYS Shell环境,cd到/c/STLPort/build/lib(在MSYS里,Windows的C:一般映射到/c),执行mingw-make -fgcc.mak clean all install

       5. mkdir C:/STLPort/lib

       6. 复制C:/STLport/build/lib/obj/gcc下面3个文件夹里的*.a和*.all到C:/STLPort/lib。同时把3个dll复制到C:/Windows/system

       7. 下面是配置CodeBlocks的步骤:

       ï¼ˆ1)打开CodeBlocks菜单Settings->Compiler and Debugger->Global Compiler Setting->GCC

       ï¼ˆ2)检查并更新Toolchain executables中的MinGW安装路径(如果你用的不是CodeBlocks自带的MinGW)

       ï¼ˆ3)在Compiler setting->Other options中添加-mthreads

       ï¼ˆ4)在Linker setting中把C:/STLPort/lib里的3个*.a文件加入link libraries里,注意去年文件名前面的“lib”和后面的“.a”

       ï¼ˆ5)在Search directories->Compiler里加入C:/STLPort/stlport

       ï¼ˆ6)在Search directories->Linker里加入C:/STLPort/lib