WxWidgets:修订间差异

来自资料库(何亚红)
跳转到导航 跳转到搜索
(创建页面,内容为“== 说明 == 本人使用此Gui库制作一些小工具,列表如下: * WMToolHelper * WinBleTool * SimpleBLETool == 编程注意事项 == === 多线程 === 不能使用主线程与定时器以外的线程操作界面,否则在某些情况下会出错。如在Linux下会提示需要启用X的多线程支持,否则直接退出。 本人的解决方法如下: * 通过C++的Lambda表达式将所有的UI操作传递到定时器操作,定时…”)
 
第5行: 第5行:
* [[WinBleTool]]
* [[WinBleTool]]
* [[SimpleBLETool]]
* [[SimpleBLETool]]
== 常用辅助工具 ==
虽然wxWidgets支持直接使用代码写UI(充分利用各种layout),本人还是习惯使用各种辅助工具设计UI。
=== wxSmith ===
wxSmith作为codeblocks的一部分(插件),必须使用codeblocks一步一步建立工程。
=== wxFormBuilder ===
wxFromBuilder直接生成窗口程序的头文件及C++源代码,只需要实现对应的虚函数即可。
源代码:https://github.com/wxFormBuilder/wxFormBuilder.git


== 编程注意事项 ==
== 编程注意事项 ==

2022年11月14日 (一) 08:00的版本

说明

本人使用此Gui库制作一些小工具,列表如下:

常用辅助工具

虽然wxWidgets支持直接使用代码写UI(充分利用各种layout),本人还是习惯使用各种辅助工具设计UI。

wxSmith

wxSmith作为codeblocks的一部分(插件),必须使用codeblocks一步一步建立工程。

wxFormBuilder

wxFromBuilder直接生成窗口程序的头文件及C++源代码,只需要实现对应的虚函数即可。

源代码:https://github.com/wxFormBuilder/wxFormBuilder.git

编程注意事项

多线程

不能使用主线程与定时器以外的线程操作界面,否则在某些情况下会出错。如在Linux下会提示需要启用X的多线程支持,否则直接退出。

本人的解决方法如下:

  • 通过C++的Lambda表达式将所有的UI操作传递到定时器操作,定时刷新UI。

退出时内存泄漏

在主窗口退出时,最好在其析构函数关闭创建的窗口及其他资源。内存泄漏通常不会引起程序逻辑问题(操作系统会清理内存),但在某些时候可能会引起操作系统的某些操作。例如:Linux会在终端上显示较多错误信息。

官网

https://www.wxwidgets.org/