如何在qt中按下按钮生成一个窗口(小部件)

我在Linux上通过Qt creator设计了一个GUI.此设计包含一些字段,文本编辑和一些按钮.

当我按下按钮时,我想显示另一个窗口.这个或任何硬代码有GUI选项吗?

最佳答案
你需要signals and slots.

您必须将单击的信号连接到您创建的主窗口小部件的自定义插槽.

更正代码,基于Patrice BernassolaJob的评论.

在类定义(.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()));

你的问题很简单,所以我建议你阅读一个基础教程,这样你就可以更快地进步,避免等待答案.
一些对我有用的教程的链接:

http://zetcode.com/tutorials/qt4tutorial/

http://doc.qt.io/archives/qt-4.7/tutorials-addressbook.html

转载注明原文:如何在qt中按下按钮生成一个窗口(小部件) - 代码日志