首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在gtkmm3中使用Gtk::助手

在gtkmm3中使用Gtk::助手
EN

Stack Overflow用户
提问于 2021-07-09 10:01:49
回答 1查看 74关注 0票数 0

我有一个gtkmm3应用程序,我计划使用从Gtk::Assistant派生的类来执行一些用户配置。由于Gtk::Assistant是从Gtk::Window (而不是Gtk::Dialog)派生出来的,所以我无法调用run()来显示助手。

正如好书中所说的,我使用Gtk::Application::run(window)来打开主应用程序窗口,但我不知道如何在gtkmm3应用程序中显示主窗口中的第二个窗口。在gtkmm2.4中,我很肯定Gtk::Main::run(assistant)会完成这项工作。我觉得非常愚蠢,即使在看了gtk-演示源代码之后,我也无法弄清楚这一点。如果能提供一些帮助,我们将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-09 18:44:13

您只需调用show(),就像调用任何其他窗口一样。例如:

代码语言:javascript
复制
#include <gtkmm.h>

class MainWindow : public Gtk::Window
{

public:

    MainWindow()
    {
        m_button.set_label("Click to show assistant...");
        m_button.signal_clicked().connect([this](){ShowAssistant();});

        add(m_button);
    }

private:

    void ShowAssistant()
    {
        m_assistant.show();
    }

    Gtk::Button m_button;
    Gtk::Assistant m_assistant;
};

int main(int argc, char *argv[])
{
    auto app = Gtk::Application::create(argc, argv, "gtkmm.example");
  
    MainWindow window;
    window.set_default_size(200, 200);
    window.show_all();
  
    return app->run(window);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68314930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档