当前位置: 首页 > news >正文

国安中建建设集团网站/免费数据统计网站

国安中建建设集团网站,免费数据统计网站,笑话网站代码,政府平台网站建设文章目录 前言Cambalache检查Xml.cpp文件如何写才能显示UI首先creat获取ui里的对象显示 前言 新手刚刚使用时的笔记 Cambalache检查Xml 窗口右键inspect UI Definition切换到Xml视图, 可以全选复制粘贴到你的ui文件里, Cambalache 只能保存为.cmb工程文件, 导出也不知道导出…

文章目录

  • 前言
  • Cambalache检查Xml
  • .cpp文件如何写才能显示UI
    • 首先creat
    • 获取ui里的对象
    • 显示

前言

  • 新手刚刚使用时的笔记

Cambalache检查Xml

  • 窗口右键inspect UI Definition切换到Xml视图, 可以全选复制粘贴到你的ui文件里, Cambalache 只能保存为.cmb工程文件, 导出也不知道导出到哪

.cpp文件如何写才能显示UI

  • 首先creat

    auto refBuilder = Gtk::Builder::create_from_file("path/to/you/xml");
    //或者干脆写一个函数
    Glib::RefPtr<Gtk::Builder> BuilderInit()
    {// Load the GtkBuilder file and instantiate its widgets:auto refBuilder = Gtk::Builder::create_from_file();try{refBuilder->add_from_file("K:\\VM_Shared\\temp1.ui");}catch (const Glib::FileError& ex){std::cerr << "FileError: " << ex.what() << std::endl;return nullptr;}catch (const Glib::MarkupError& ex){std::cerr << "MarkupError: " << ex.what() << std::endl;return nullptr;}catch (const Gtk::BuilderError& ex){std::cerr << "BuilderError: " << ex.what() << std::endl;return nullptr;}return refBuilder;
    }
    
  • 获取ui里的对象

    //这里的mainWindow 在Cambalache的 属性 Object id 条目中指定
    refBuilder->get_widget<Gtk::Window>("mainWindow");
    //获取的是一个实体的指针, 已经存在 并且具有在ui设计器里的父子关系
    

    可以看看这个例子
    https://blog.csdn.net/Computer_Tech/article/details/135970006

  • 显示

    需要获取最上层的对象然后 set_child(最上层的对象)
    或者app->add_window(window) 这是两种方法

    • 第一种
    //官网例子常见的
    auto app = Gtk::Application::create("org.gtkmm.example");
    app->make_window_and_run<ExampleWindow>(argc, argv);
    

    这种就在ExampleWindow的构造函数中set_child(最上层的对象)
    这个对象不能是GtkWindow 如果是, 将报错:

    gtk_window_set_child: assertion ‘child == NULL || priv->child == child || gtk_widget_get_parent (child) == NULL’ failed

    因为ExampleWindow自身就是主窗口

    • 第二种
    #include "test.h"
    //在test里面用extern声明 在这里先提前定义为nullptr
    Glib::RefPtr<Gtk::Application> my_app = nullptr;
    void on_app_activate()
    {ExampleWindow init;
    }
    int main(int argc, char* argv[])
    {my_app = Gtk::Application::create("org.gtkmm.example");my_app->signal_activate().connect([] (){on_app_activate();});return my_app->run(argc, argv);
    }
    

    在ExampleWindow的构造函数中

    mainWinodw = refBuilder->get_widget<Gtk::Window>("mainWindow");
    my_app->add_window(*mainWinodw);
    mainWinodw->set_visible(true);
    

    可以完全用ui里的主窗口
    这里的ExampleWindow就相当于一个功能型桥接类

    可以看看这个例子:
    多 split 窗口 in Gtkmm4

http://www.whsansanxincailiao.cn/news/32003940.html

相关文章:

  • 常州网站制作包括哪些/在线外链推广
  • 策划平台/宁波seo关键词优化教程
  • 学网站开发顺序/如何推广app让别人注册
  • 做网站台式还是笔记本/线上销售如何找到精准客户
  • 肇庆制作网站软件/私人网站管理软件
  • 松江佘山网站建设/沧州网站优化公司
  • 做亚马逊有哪些网站可以清货/做营销型网站哪家好
  • 镇政府网站平台建设方案/百度收录什么意思
  • 查询网站域名备案/天天广告联盟
  • 广东建设营销型网站/seo怎么优化关键词排名
  • 如何利用网站开发客户/bt兔子磁力搜索
  • 做内部网站cms/百度关键词搜索技巧
  • 做网站服务器权限设置/网络营销产品
  • 什么是网站服务器名称/seo推广多少钱
  • 建筑公司加盟开分公司/西安网站seo
  • 佛山营销网站建设/一个新手怎么做电商
  • 网站建设是干什么/郑州seo外包阿亮
  • 武汉建筑企业排名/网站seo优化方案策划书
  • 建设外贸网站费用/西地那非
  • 建设工程查询市场价网站/今日百度小说排行榜风云榜
  • 泰安网站建设工作室/厦门人才网唯一官方网站
  • 武汉做网站好的公司/太原百度关键词排名
  • wordpress widgets_init/宁波seo优化外包公司
  • 为什么做的网站搜不出来的/成都seo专家
  • 广西做网站的公司有哪些/cilimao磁力猫最新版地址
  • 做淘宝内部优惠券网站要钱么/谷歌seo运营
  • 外贸公司的网站怎么做/企业网站推广的方法
  • 网站域名后缀有什么用/互联网营销师是做什么的
  • 佛山市手机网站建设/班级优化大师app
  • 广昌网站建设/最近一周新闻大事摘抄