wxWidgets中的中文解决方法

刚刚学C++选择了codeblocks+wxWidgets,一切准备好之后,开始了第一个带界面的程序,新建了个wxDialog的程序,运行成功没问题,看着是英文的界面,便想改为中文的看看,可是当我改为中文的后,出现问题了,编译不过,提示:

/____Main.cpp||In constructor '____Dialog::____Dialog(wxWindow*, wxWindowID)':|

/____Main.cpp|64|error: converting to execution character set: Illegal byte sequence|

百度了一下,说是编码问题,跟着百度上的文章改这里改那里最后没成功,不是乱码就是编译不错,最后想着是编码问题为什么不能直接告诉编译器我写的是中文程序呢,我就试着在cb的编译器和调试器设置的其它选项中加了一句 -finput-charset=GBK
没想到编译通过,也没有乱码,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
wxWidgets,可以使用`Bind()`方法来将事件处理函数与特定的控件事件关联起来。例如,下面是一个示例代码片段,将一个按钮的`wxCommandEvent`事件与一个事件处理函数关联起来: ```c++ class MyFrame : public wxFrame { public: MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size); private: void OnButtonClicked(wxCommandEvent& event); wxButton* m_button; }; MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame(NULL, wxID_ANY, title, pos, size) { m_button = new wxButton(this, wxID_ANY, "Click me", wxPoint(10, 10), wxSize(100, 30)); Bind(wxEVT_BUTTON, &MyFrame::OnButtonClicked, this, m_button->GetId()); } void MyFrame::OnButtonClicked(wxCommandEvent& event) { wxMessageBox("Button clicked!"); } ``` 在上面的代码,我们在`MyFrame`类的构造函数创建了一个按钮,并将其与窗口关联起来。然后,我们调用`Bind()`方法,将按钮的`wxEVT_BUTTON`事件与`OnButtonClicked()`方法关联起来。`Bind()`方法的参数包括事件类型、事件处理函数、事件处理函数所在的对象以及控件的ID。 当用户单击按钮时,将会触发`wxEVT_BUTTON`事件,事件处理函数`OnButtonClicked()`将被调用,并显示一个消息框。 除了按钮事件之外,wxWidgets还支持许多其他类型的事件,包括鼠标事件、键盘事件、菜单事件等。您可以使用`Bind()`方法将任何类型的事件与事件处理函数关联起来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值