1号程序媛
全方位实战项目修炼功法,助力每一个IT人自学成才,走上自己的修炼大道,早日成仙。
展开
-
codeblocks创建Qt5工程
然后就到了Qt location的环节,我这里因为之前已经安装了qt5(在线安装的那种) ,所以自己能识别出来,如果你是mingw安装的,直接填mingw的路径即可,填到mingw64 ,譬如d:/msys2/mingw64即可,包括wxWidgets也是这样配置即可。所以当我创建的时候,一路next,该填的填即可。好了,我们这里直接上教程。原创 2025-03-04 23:26:40 · 101 阅读 · 0 评论 -
wxWidgets中的size大小规则详细解释
wxTopLevelWindow::Layout()**: 此重写版本与基类 `wxWindow::Layout()` 功能相同,但额外提供一个便利行为: 若顶级窗口无绑定的布局管理器,**且仅有一个子控件**,则自动调整该子控件尺寸以覆盖整个客户区。wxWindow::GetEffectiveMinSize()**: 返回控件的最小尺寸与最佳尺寸的综合值,优先采用最小尺寸。例如: - 若控件的最小尺寸为 `(150, -1)`,最佳尺寸为 `(80, 22)`,则有效最小尺寸为 `(150, 22)`。原创 2025-03-03 01:59:28 · 45 阅读 · 0 评论 -
wxWidgets长图浏览控件实现,不区分图片类型加载
很多时候,我们使用的是wxBitmap bitmap( imgpath,wxBITMAP_TYPE_PNG);第二:使用wxScrolled<wxPanel>类型,计算滚动窗口大小。直接使用CodeBlocks进行编译:具体看我过往文章即可。原创 2025-03-03 01:51:35 · 137 阅读 · 0 评论 -
wxWidgets生成HTML文件,带图片转base64数据
这里功能就是生成HTML文件,没用HTML库,因为是自己固定的格式,图片是一个vector,可以动态改变数量的。编译环境大家可以看我之前的文章,CodeBlocks + msys2 + wx3.2,win10。原创 2025-02-06 11:57:31 · 236 阅读 · 0 评论 -
wxWidgets使用wxdataviewctrl显示表格数据
显式启用后者,这也将指示是否支持此功能,因为它更改了右键单击列标题以将其添加或删除到用于排序的列集中的默认行为。此控件支持单列排序,并且在某些平台上(目前仅使用通用版本的平台,即不是 wxGTK 或 wxOSX)也可以一次按多个列排序。这里类似于Qt的ModelView中的qtableview,不过仅仅只是类似。控件,用于以类似树的形式或以表格形式或两者兼而有之的方式显示数据。同样,如果您只想显示简单的表结构,则可以使用专用的。类的 API 显示简单的树结构,则可以使用专用的。,以定义每列应显示的内容。原创 2025-02-04 20:06:16 · 97 阅读 · 0 评论 -
wxWidgets使用wxGrid表格实现第一列添加复选框功能
这里我使用的是CodeBlocks+msys2+wxwidgets验证,当然了,你也可以使用。编译方式自己选择即可。第一列为复选框选择列。原创 2025-02-04 05:05:56 · 54 阅读 · 0 评论 -
wxWidgets中wxGrid表格使用示例,去掉竖向表头
设置单元格内容居中,字体为16号,白色。 设置表格背景色为黑色。// 绑定单元格点击事件。原创 2025-02-04 04:35:26 · 67 阅读 · 0 评论 -
比Qt更适合小公司的C++界面开发框架wxWidgets
但是这些都是属于你这个公司的技术积累,不像Qt,完全就是使用Qt,因为它功能库丰富,它替你都封装好了,%99的功能,你都能直接用Qt的开发库,但是wxWidgets却只有90%,很多人甚至连入门都困难,毕竟Qt各方面手册,教程都做得非常好。Qt的好处是保罗大部分常用的开发库,它不用你会C++ STL,因为它本身就很成熟,你无需使用STL库去补充功能,所以我经常看到很多小公司的招聘信息里写着明明是做Qt开发的,却偏偏要加一条要会STL,说明这家公司的主管就不懂Qt,或者就是那种一星期学会某某框架的货。原创 2025-01-02 01:02:37 · 940 阅读 · 0 评论 -
解决CMake Found package不好使,找不到已安装的依赖包
当我们在使用Cmake编译项目的时候,CMakeList.txt中经常会需要链接到第三方库,一些正规的依赖包,通常会安装在系统路径,譬如/usr/include, /usr/lib之类的位置,并且还会具备CMake foundpackage.cmake之类的配置文件。而是应该使用target开头的语句,让cmake去你指定的路径去寻找,而不是include一个大范围,cmake无法达到你的预期。如果你自己的包放在了自己的代码目录下,譬如什么dll,so之类的库文件。原创 2024-12-27 01:10:39 · 314 阅读 · 0 评论 -
wxString转char*的几种方式
wxString转char*太常用了,所以记录在此:void dump_text(const char* str); const可以去掉dump_text(static_cast(s)); // OK, calls (1)dump_text(static_cast(s.c_str())); // OK, calls (2)dump_text(s.mb_str()); // OK, calls (1)dump_text(s.wc_str()); /原创 2024-12-26 11:53:42 · 62 阅读 · 0 评论 -
wxWidgets中wxPanel设置背景图片不能使用wxBitmap局部变量
wxWidgets中wxPanel设置背景图片不能使用wxBitmap局部变量。原创 2024-12-26 11:51:18 · 49 阅读 · 0 评论 -
wxwidgets xml插入图片的两种方案
wxwidgets xml插入图片的两种方案原创 2024-12-14 12:50:43 · 330 阅读 · 0 评论 -
CodeBlocks开发wxWidgets配置快速入门
CodeBlocks中F8是调试,F9是编译运行,有时候调试,你会发现没有效果,或者调试失灵了,原因就是你重启了CodeBlocks后,它没有保存住你设置的调试项,我这里调试项设置为gdb,是msys2的gdb路径。而说到界面,第一,不要使用xrc,因为这个xrc需要放到exe文件目录下,相当于直接把界面文件放出去了,所以,太不安全,除非你就是想共享代码。这里我劝你不要去修改太多,尤其是调试运行的快捷键,我尝试了很多次设置为F5,结果保存不了,瞎折腾,还是用它的F8,F9吧。其他的配置,以后再汇总吧。原创 2024-12-04 12:27:40 · 80 阅读 · 0 评论 -
wxWidgets CodeBlocks如何进行编译调试
因为CodeBlocks中Debug模式下会自动添加一个__WXDEBUG__宏定义,所以可以做到但凡wxLogDebug的打印语句,都不会在Release模式下出现。跟Qt的Debug轰宏定义关闭一样的。不过,问题是CodeBlocks并不支持wxLogDebug直接输出打印,在windows下是需要借助工具的。我们需要下载DebugView这个工具来监听所有的调试语句,CodeBlocks没有直接重定向调试输出。(下载地址不像Qt那么方便,毕竟Qt只针对自家产品,CodeBlocks远景比较大。原创 2024-11-12 08:50:51 · 66 阅读 · 0 评论 -
wxwidgets开发最佳IDE之codeLite配置,比CodeBlocks好用10倍,还支持Qt和VS,web开发
作为wxWidgets开发双剑客IDE,codeblocks和CodeLite,如果要选,你应该选择CodeLite。不过很少人能够用得好这两个IDE,但实际上CodeBlocks不好用,也只是比QtCreator差了比较多,比vscode,visualstudio差了一些些,不过用熟了以后,还是可以的。配置完编译环境,我们还需要配置一下快捷键,这样就可以很好的使用CodeBlocks了。而到了CodeLite,这个IDE比CodeBlocks发展的好那么一些,使用wxcraft来开发界面。也是代码界面一体原创 2024-11-07 12:18:10 · 590 阅读 · 0 评论 -
解决CodeBlocks中的界面wxSmith界面无法打开问题?
譬如我这里就有好几个wxSmith的界面,由于没有生成xrc文件,导致关闭项目后,再次打开wxs界面,无法正常导入了,显示为xml文件。在CodeBlocks中,wxSmith如果想要保存已经编辑好的UI界面,你需要勾选生成xrc文件才行。而生成xrc文件后的界面,保存之后,下次打开就可以正常双击打开界面了。原创 2024-09-20 08:36:01 · 504 阅读 · 0 评论 -
msys2下使用mingw64还是ucrt64好?
但是有一次看同事使用了ucrt64,就查了一下到底ucrt64是个什么鬼?这一查才知道,原来ucrt64才是windows下的正统编译环境,在这个编译环境下编译,能够保证编译程序在windows下是性能最好的。当我试图编译某个源码包的时候,./configure一下,make一下,问题出现,原来ucrt对于本地路径有认知障碍,编译过程中它不识别什么D盘C盘之类的路径,这真是稀奇了。于是乎,我就果断换成了ucrt64,心理上觉着好像是编译的时候快了的感觉。没办法,果断换回了mingw64,编译畅通无阻。原创 2024-09-20 08:25:20 · 2268 阅读 · 0 评论 -
wxWidgets wxSmith自定义控件Custom的提升用法
所以大家千万不要孤立地看待某一个框架,同样道理,无论桌面系统GUI框架还是Web端前端框架,外在的表现形式都是大同小异的,只是实现的方式不相同,也就是语法规则不一样而已,同样的业务逻辑,使用不同的框架去实现,它必然也得是同样的业务展示,不应该一套一套地,否则我们现在也不会大力倡导跨平台程序。原因就在于,一套代码,一套逻辑,一套设计,就应该能够在不同的框架下实现,而不是各自搞一套,费时费力费钱。所以,学习wxWidgets也好,学习Kotlin,pyQt之类的框架也好,我们都可以类比学习。原创 2024-09-18 08:38:08 · 309 阅读 · 0 评论 -
CodeBlocks20.03配置wxWidgets3.2.5教程
CodeBlocks仅仅是为了让你入门wxWidgets,或者其他纯C++的项目,譬如OpenGL,OpenCV,sdl之类的,因为它有模板,方便。用CodeBlocks开发wxWidgets,最主要的有点就是你可以快速上手项目流程,而不是一开始就去抠那些控件,布局,样式,还有各种自定义控件,事件之类的细节,因为拖控件的好处就是让你直观地开始你的业务逻辑编程,而不是语法编程。最主要的配置就库的搜索路径,和头文件的包含路径,以及运行时的dll文件路径的配置,下面图示都配置一遍即可。原创 2024-09-12 08:44:28 · 788 阅读 · 0 评论 -
C++ wxWidgets图形界面开发用什么IDE最好?
不过值得庆幸的是,唯独是它,具备支持wxWidgets界面开发的设计器,正如QtCreator支持Qt界面设计器,vsualstudio支持wpf的界面设计器一样,他们似乎就是配套使用的。所以如果你对wxWidgets比较熟悉,而且不大喜欢拖拽界面控件去开发项目,那么使用QtCreator去开发wxWidgets是很合适的。wxWidgets是目前C++项目界面开发中仅次于Qt的唯二最具备完整项目构件需求的开发框架,虽然它没有Qt好用,但胜在完全免费,Qt商业应用是要买授权的。原创 2024-08-19 23:48:06 · 1240 阅读 · 0 评论