网络网站设计培训,商丘软件开发,wordpress安全,百度竞价关键词查询文章目录 前言来看一个从字符串中生成UI的例子 前言
glade生成的xml格式不被gtkmm4支持, 需要作修改
来看一个从字符串中生成UI的例子 #include gtkmm/application.h
#include gtkmm.h
#include iostream
using namespace std;class ExampleWindow :… 文章目录 前言来看一个从字符串中生成UI的例子 前言
glade生成的xml格式不被gtkmm4支持, 需要作修改
来看一个从字符串中生成UI的例子 #include gtkmm/application.h
#include gtkmm.h
#include iostream
using namespace std;class ExampleWindow : public Gtk::Window
{
public:ExampleWindow();virtual ~ExampleWindow() {};void on_action_file_new(){cout New endl;};void on_action_file_open() {};void on_action_file_quit() {};Gtk::Box m_Box;
};
ExampleWindow::ExampleWindow()
{auto m_refBuilder Gtk::Builder::create();Glib::ustring ui_info interface menu idmenubar submenu attribute namelabel translatableyes_File/attribute section item attribute namelabel translatableyes_New/attribute attribute nameactionexample.new/attribute /item /section section item attribute namelabel translatableyes_Quit/attribute attribute nameactionexample.quit/attribute /item /section /submenu submenu attribute namelabel translatableyes_Edit/attribute item attribute namelabel translatableyes_Copy/attribute attribute nameactionexample.copy/attribute /item item attribute namelabel translatableyes_Paste/attribute attribute nameactionexample.paste/attribute /item /submenu /menu/interface;//绑定行动的对应动作 实际绑定auto m_refActionGroup Gio::SimpleActionGroup::create();m_refActionGroup-add_action(new, sigc::mem_fun(*this, ExampleWindow::on_action_file_new));m_refActionGroup-add_action(open, sigc::mem_fun(*this, ExampleWindow::on_action_file_open));m_refActionGroup-add_action(quit, sigc::mem_fun(*this, ExampleWindow::on_action_file_quit));insert_action_group(example, m_refActionGroup);//行动组example 实体诞生m_refBuilder-add_from_string(ui_info);//m_refBuilder-add_from_file(K:\\CPlusPlus\\cgcc\\Xml_UI.xml);auto gmenu m_refBuilder-get_objectGio::Menu(menubar);auto pMenuBar Gtk::make_managedGtk::PopoverMenuBar(gmenu);m_Box.append(*pMenuBar);set_child(m_Box);pMenuBar-set_visible(true);m_Box.set_visible(true);
}
int main(int argc, char* argv[])
{auto app Gtk::Application::create(org.gtkmm.example);//app快捷键 键位设置对应行动 预先设置app-set_accel_for_action(example.new, Primaryn);//表示CtrlNapp-set_accel_for_action(example.quit, Primaryq);//表示CtrlQapp-set_accel_for_action(example.copy, Primaryc);//表示CtrlCapp-set_accel_for_action(example.paste, Primaryv);//表示CtrlV//Shows the window and returns when it is closed.return app-make_window_and_runExampleWindow(argc, argv);
}可以把那些字符串放入一个xml文件 然后 m_refBuilder-add_from_file(“K:\CPlusPlus\cgcc\Xml_UI.xml”); 代替上面的add_from_string.