|
本帖最后由 aeszyl 于 2025-7-31 20:13 编辑
利用wxWidgets库创建窗口,使用wxFormBuilder进行可视化窗口设计,生成的c++代码,再用AI生成具体功能的c++代码,整体嵌入到火山中编译。注意:wxWidgets-3.3.1文件夹和main.v放在同一目录中,编译设置为动态编译,生成的exe在其它电脑上运行,需要和必要的库文件放在同一目录。
由于当前AI对c++支持的很好,对火山PC中文编程支持的很渣,如此就可以用AI进行高效创作了。下一目标,火山PC用QT库创建窗口实战,敬请期待。
- <火山程序 类型 = "通常" 版本 = 1 />
- 包 火山.程序 <@视窗.头文件搜寻目录 = "wxWidgets-3.3.1\\include\r\nwxWidgets-3.3.1\\include\\msvc"
- @视窗.外部头文件 = "wx/wx.h\r\nwx/msw/winundef.h\r\nwx/msw/wrapwin.h"
- @视窗.库文件搜寻目录 = "wxWidgets-3.3.1\\lib\\vc14x_x64_dll" @视窗.外部库 = "wxbase33u.lib\r\nwxmsw33u_core.lib"
- @视窗.附加编译参数 = "cpp: /DwxNO_DDE /DwxNO_NET_API /DWXUSINGDLL /D_UNICODE /DwxUSE_UNICODE /DWX_PRECOMP /D_WINDOWS /MD /MP /O2 /Oi /GL /Gy /GF /I"wxWidgets-3.3.1\\include" /I"wxWidgets-3.3.1\\include\\msvc""
- @视窗.编译信息 = "/SUBSYSTEM:WINDOWS /DEBUG:NONE /OPT:REF /OPT:ICF /INCREMENTAL:NO /LTCG">
- 类 启动类 <公开 基础类 = 程序类>
- {
- # @begin
- # class MyFrame1 : public wxFrame {
- # public:
- # wxButton* m_button1;
- # wxTextCtrl* m_textCtrl1;
- # MyFrame1(wxWindow* parent, wxWindowID id, const wxString& title,
- # const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(300, 100),
- # long style = wxDEFAULT_FRAME_STYLE | wxSTAY_ON_TOP)
- # : wxFrame(parent, id, title, pos, size, style) {
- # this->SetSizeHints(wxSize(300, 100), wxSize(300, 100));
- # wxBoxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL);
- # m_button1 = new wxButton(this, wxID_ANY, wxT("按扭"), wxDefaultPosition, wxSize(80, 25));
- # mainSizer->Add(m_button1, 0, wxALL, 5);
- # m_textCtrl1 = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(180, 25));
- # mainSizer->Add(m_textCtrl1, 1, wxALL|wxEXPAND, 5);
- # m_button1->Bind(wxEVT_BUTTON, &MyFrame1::OnButtonClick, this);
- # this->SetSizerAndFit(mainSizer);
- # this->Layout();
- # this->Centre(wxBOTH);
- # }
- # void OnButtonClick(wxCommandEvent& event) {
- # m_textCtrl1->SetValue(wxT("你好火山"));
- # }
- # ~MyFrame1() {}
- # };
- # class MyApp : public wxApp {
- # public:
- # virtual bool OnInit() {
- # MyFrame1* frame = new MyFrame1(NULL, wxID_ANY, wxT("火山程序窗口"));
- # frame->Show(true);
- # return true;
- # }
- # };
- # wxIMPLEMENT_APP(MyApp);
- # @end
- 方法 启动方法 <公开 类型 = 整数>
- {
- @ wxEntry(0, NULL);
- 返回 (0)
- }
- }
复制代码
|
|