gpt4 book ai didi

c++ - gtkmm,如何让我的程序等待按钮的点击信号?

转载 作者:太空宇宙 更新时间:2023-11-04 05:36:36 24 4
gpt4 key购买 nike

我想让我的程序等待,直到单击按钮。

问题是,

  • 我无法使用 trhead
  • 我无法使用对话框或其他窗口
  • 我无法使用像 Glib::usleep() 这样的函数,因为它会使接口(interface)变得不敏感。

我没有找到解决该问题的任何策略。

最佳答案

是否有什么反对使用 Gtkmm 基于事件的方式,即将监听器连接到按钮的单击信号?

这看起来像这样:

helloworld.h

class HelloWorld : public Gtk::Window
{

// ...

protected:
//Signal handlers:
void on_button_clicked();

//Member widgets:
Gtk::Button m_button;
};

helloworld.cc

// ...
HelloWorld::HelloWorld()
: m_button("Hello World") // creates a new button with label "Hello World".
{
// ...

// When the button receives the "clicked" signal, it will call the
// on_button_clicked() method defined below.
m_button.signal_clicked().connect(sigc::mem_fun(*this,
&HelloWorld::on_button_clicked));


// ...
}

void HelloWorld::on_button_clicked()
{
std::cout << "Hello World" << std::endl;
}

完整示例可用 here .

基本上,在 HelloWorld::on_button_clicked 中,您将执行必须等待按钮被单击的操作。

关于c++ - gtkmm,如何让我的程序等待按钮的点击信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28250235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com