问题描述
我想在单击按钮时显示一个新窗口:
void PackBox3::on_button_clicked()
{
NewCard newcard;
newcard.show();
}
当我单击按钮时,什么也没有发生(我确定可以调用该方法),没有错误消息显示。我的第二个窗口如下所示:
class NewCard : public Gtk::Window
{
public:
NewCard();
virtual ~NewCard();
...
如何使窗口显示自身?
解决方法
代码:
void PackBox3::on_button_clicked()
{
NewCard newcard;
newcard.show();
} // newcard destroyed at end of scope here.
不起作用,因为窗口newcard
在函数作用域的末尾被破坏了。我建议让newcard
成为PackBox3
的成员,以便在函数结束后仍然有效。