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