这是个具开源性质的, 属于C++范畴的, 具备跨平台特性的GUI库, 它核心的设计理念在于“一次编写, 多平台运行”, 借助对那些不同操作系统原生GUI接口予以封装, 提供了统一模样的API, 致使开发者不必针对每个平台去重新编写代码。

wxWidgets截图

软件特色

原生性能与外观

把原生控件渲染, 直接去调用各个平台的原生GUI组件, 像的Win32 API、macOS的Cocoa、Linux的GTK+的那种,从而确保应用在不同系统上的呈现, 能够有着与原生应用一样的外观以及操作体验。

具有高性能状况, 编译之后的代码会直接于本地机器上运行, 并不需要中间层进行解释, 其性能近乎手动编写出来的平台专用代码。

跨平台兼容性

API设计做到统一: 供应出保持一致的接口方面, 开发者并不需要去学习各个不同平台对于GUI编程规则的内容。举例来说, 像按钮、文本框这类控件, 它在二者之上的运用方式是绝对相同的, 像对于某一系统与之相对且 Linux 之上, 便是如此。

具备多个编译器支持特性, 能够兼容那些主流的C++编译器, 像是GCC、Clang、MSVC, 还支持多种不同的开发环境, 例如 、Code::。

丰富的功能扩展

不是 GUI 的模块, 这个模块除此之外, 还会提供文件操作, 以及有多个线程, 还有网络通信, 乃至数据库访问等工具, 它还能够支持去开发完整的桌面应用哟。

多语言接合: 予以支持, 诸如某些特定语言, 特定的Perl, 特定的Lua(wxLua这种形式的Lua)等类语言相结合, 如此便能更有益于并非C++ 开发人员之人去进行运用。

开源与许可灵活

LGPL协议这种所规定达成的情形是, 它准许在不要求为此支付版权费用的状况下, 白白地应用于商业以及开源项目之中。要是对库代码实施修改的话, 那么就需要公开得以修改的那一部分, 然而独立开展开发而生成的代码是不需要进行公开的。

核心功能

GUI 组件库

基础控件:按钮()、文本框()、复选框()、单选框()等。

用于高级操作的控件有列表视图, 树形控件, 表格, 工具栏等。

布局管理器, 它支持盒式布局, 支持网格布局, 支持固定布局等, 能够自动适应不同的屏幕尺寸。

事件处理机制

事件绑定, 采用Bind()方法, 把控件事件, 像按钮点击、键盘输入之类, 关联至自定义函数。

事件表宏:支持传统的事件表宏(如 ),简化事件处理代码。

跨平台工具链

配置工具, 它能给出 wx- 脚本, 可自动去检测编译器路径, 还能自动检测链接库, 进而简化编译流程。

资源管理, 它的作用是支持 XML 资源文件, 也就是 XRC, 它还允许借助可视化工具来设计界面, 并且能够将该界面导出成为代码。

多媒体与网络支持

多媒体播放:通过 控件播放音频/视频文件。

网络通信方面表现为, 提供了相关类, 这些类实现了 TCP 通信又实现了 UDP 通信, 并且还支持 HTTP 客户端的开发。

wxWidgets截图

常见问题与解决方案

编译错误:找不到编译器或链接库

原因:未正确配置 wx- 或编译器路径。

解决:

确保已安装 开发包。

在集成开发环境里, 手动把wx- --以及wx- --libs设置成编译选项。

运行时错误:控件未显示或布局混乱

原因:未正确调用 () 或控件尺寸未设置。

解决:

检查是否为窗口设置了布局管理器。

确保控件尺寸参数合理,或使用 自动调整。

更新日志:

1.修正了其它bug;

2.优化了软件的兼容性。

华军小编推荐:

有一款绝佳不赖的编程工具, 小编所使用的正是此软件, 其具备强大的功能, 且绿色安全。在此站点, 还能够提供快表软件, 动作编辑软件, 自动化测试工具, Easy GUI。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐