我在Linux上通过Qt creator设计了一个GUI。此设计包含一些字段,文本编辑和一些按钮。
当我按下按钮时,我想显示另一个窗口。这个或任何硬代码有GUI选项吗?
答案 0 :(得分:8)
您必须将点击的信号连接到您创建的主要小部件的自定义插槽。
更正后的代码,基于Patrice Bernassola和Job的评论。
在类定义(.h文件)中添加以下行:
Q_OBJECT
private slots:
void exampleButtonClicked();
private:
QDialog *exampleDialog;
当您在类中定义信号或槽时,需要宏Q_OBJECT。
变量exampleDialog应该在定义文件中声明,以便在插槽中访问它。
你必须初始化它,这通常在构造函数
中完成ExampleClass::ExampleClass()
{
//Setup you UI
dialog = new QDialog;
}
在类实现(.cpp文件)中添加执行所需操作的代码,在这种情况下创建一个新窗口。
void ExampleClass::exampleButtonClicked()
{
exampleDialog->show();
}
此外,您还必须使用以下行将信号连接到插槽:
connect(exampleButton, SIGNAL(clicked()), this, SLOT(exampleButtonClicked()));
你的问题很简单,所以我建议你阅读基础教程,这样你就可以更快地进步,避免等待答案。 一些对我有用的教程的链接:
答案 1 :(得分:0)
点击按钮事件,您创建另一个小部件并显示。 另一个选项是Stacked widget,http://doc.trolltech.com/4.6/qstackedwidget.html