递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 170|回复: 1
打印 上一主题 下一主题

[视窗] 火山PC用wxWidgets库创建窗口实践

[复制链接]

26

主题

98

帖子

933

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
933
跳转到指定楼层
楼主
发表于 前天 19:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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. <火山程序 类型 = "通常" 版本 = 1 />

  2. 包 火山.程序 <@视窗.头文件搜寻目录 = "wxWidgets-3.3.1\\include\r\nwxWidgets-3.3.1\\include\\msvc"
  3.         @视窗.外部头文件 = "wx/wx.h\r\nwx/msw/winundef.h\r\nwx/msw/wrapwin.h"
  4.         @视窗.库文件搜寻目录 = "wxWidgets-3.3.1\\lib\\vc14x_x64_dll" @视窗.外部库 = "wxbase33u.lib\r\nwxmsw33u_core.lib"
  5.         @视窗.附加编译参数 = "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""
  6.         @视窗.编译信息 = "/SUBSYSTEM:WINDOWS /DEBUG:NONE /OPT:REF /OPT:ICF /INCREMENTAL:NO /LTCG">

  7. 类 启动类 <公开 基础类 = 程序类>
  8. {

  9.     # @begin
  10.     # class MyFrame1 : public wxFrame {
  11.     # public:
  12.     # wxButton* m_button1;
  13.     # wxTextCtrl* m_textCtrl1;
  14.     # MyFrame1(wxWindow* parent, wxWindowID id, const wxString& title,
  15.     # const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(300, 100),
  16.     # long style = wxDEFAULT_FRAME_STYLE | wxSTAY_ON_TOP)
  17.     # : wxFrame(parent, id, title, pos, size, style) {
  18.     # this->SetSizeHints(wxSize(300, 100), wxSize(300, 100));
  19.     # wxBoxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL);
  20.     # m_button1 = new wxButton(this, wxID_ANY, wxT("按扭"), wxDefaultPosition, wxSize(80, 25));
  21.     # mainSizer->Add(m_button1, 0, wxALL, 5);
  22.     # m_textCtrl1 = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(180, 25));
  23.     # mainSizer->Add(m_textCtrl1, 1, wxALL|wxEXPAND, 5);
  24.     # m_button1->Bind(wxEVT_BUTTON, &MyFrame1::OnButtonClick, this);
  25.     # this->SetSizerAndFit(mainSizer);
  26.     # this->Layout();
  27.     # this->Centre(wxBOTH);
  28.     # }
  29.     # void OnButtonClick(wxCommandEvent& event) {
  30.     # m_textCtrl1->SetValue(wxT("你好火山"));
  31.     # }
  32.     # ~MyFrame1() {}
  33.     # };
  34.     # class MyApp : public wxApp {
  35.     # public:
  36.     # virtual bool OnInit() {
  37.     # MyFrame1* frame = new MyFrame1(NULL, wxID_ANY, wxT("火山程序窗口"));
  38.     # frame->Show(true);
  39.     # return true;
  40.     # }
  41.     # };
  42.     # wxIMPLEMENT_APP(MyApp);
  43.     # @end

  44.     方法 启动方法 <公开 类型 = 整数>
  45.     {
  46.         @ wxEntry(0, NULL);
  47.         返回 (0)
  48.     }
  49. }
复制代码



wxFormBuilder-4.2.1-x64.rar

9.73 MB, 下载次数: 4

wxWidgets-3.3.1.rar

35.97 MB, 下载次数: 5

回复

使用道具 举报

280

主题

1968

帖子

7861

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
7861
QQ
沙发
发表于 前天 19:52 | 只看该作者
厉害,像大佬学习
火山视窗封装视频教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-8-2 02:24 , Processed in 0.096891 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表