为何选择wxWidgets.

本文对比了几种开源GUI开发包,最终选择了wxWidgets。文章详细解释了选择wxWidgets的原因,包括其跨平台能力、与MFC架构的相似性等,并提到了内存管理等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


比较了几个OpenSource的GUI开发包,最后选定了wxWidgets.
   选择理由:
   a). MFC 只能在Windows下开发.
   b). 如果选择开发商业软件,必须以极昂贵的金额,购买商业版本的QT.
        这里需要赞一个,QT其实还是不错的,从code质量以及可读性而言,我或许会选择Q。
   c). GTK+呢,尼玛,和MFC 以及一般 Windows程序开发大相径庭。艰涩,果断放弃。
   d). 因地制宜,本人还算比较熟悉MFC架构,wxWidgets这点比较接近。
   e). 顺便强烈鄙视一下wxWidgets:通篇都是new,少有delete。对新手而言,是个问题。

        这里mark一下,有关wxWidgets的内存管理问题,还需要查一些资料和source code。

   f). 因是想先熟悉wxWidgets,同时可以RAD以后的Windows程序,为保持向下和向后兼容性,所以我还是以VC++为主。
`COMBO.H` 是 wxWidgets (原称 wxWindows) 的一个头文件,它包含了 `wxComboBox` 类的声明。`wxComboBox` 是一个组合控件,它结合了文本输入框下拉列表,允许用户从一组预定义的选项中选择一个,并可以在文本框中输入自定义内容。 `COMBO.H` 中的内容通常包括: 1. `wxComboBox` 类的结构定义,定义了它的属性、方法事件处理器。 2. 构造函数,用于初始化组合框对象,可以指定初始值、大小、风格等参数。 3. 常量定义,如默认样式、焦点标志等。 4. 公开成员函数,例如 `Append` 添加选项到下拉列表,`SetStringSelection` 设置选中的字符串,以及 `GetValue` 获取当前选中的值。 5. 事件处理器,比如 `EVT_COMBOBOX`(当用户选择新项时触发) `EVT_TEXT_ENTER`(当用户在文本框内按下回车键时触发)。 在使用 `wxComboBox` 时,你需要包含 `COMBO.H` 文件并在代码中实例化该类,并处理相应的事件来响应用户的交互。例如: ```cpp #include "wx/wx.h" #include "wx/combo.h" class MyFrame : public wxFrame { public: MyFrame() { wxComboBox *comboBox = new wxComboBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxCB_READONLY); comboBox->Append("Option 1"); comboBox->Append("Option 2"); // 更多选项添加... comboBox->Bind(wxEVT_COMBOBOX, &MyFrame::OnComboBoxEvent, this); SetSize(400, 100); } private: void OnComboBoxEvent(wxCommandEvent& event) { wxString selectedValue = event.GetString(); // 处理用户选择的操作 } }; // main函数启动应用程序 int main() { wxApp app; MyFrame frame; frame.Show(true); return app.MainLoop(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值