我试图通过按钮单击事件中的现有对话框打开一个新的对话框窗口,但是由于我是从MainWindow中打开对话框窗口而无法执行此操作。
我正在尝试:
Dialog1 *New = new Dialog1();
New->show();
有没有其他方法可以从现有对话框窗口打开对话框窗口???
最佳答案
肯定还有其他问题,因为您的代码对我来说看起来不错。这是我的处理方式:
#include <QtGui>
class Dialog : public QDialog
{
public:
Dialog()
{
QDialog *subDialog = new QDialog;
subDialog->setWindowTitle("Sub Dialog");
QPushButton *button = new QPushButton("Push to open new dialog", this);
connect(button, SIGNAL(clicked()), subDialog, SLOT(show()));
}
};
class MainWindow : public QMainWindow
{
public:
MainWindow()
{
Dialog *dialog = new Dialog;
dialog->setWindowTitle("Dialog");
dialog->show();
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowTitle("Main Window");
w.show();
return a.exec();
}
顺便说一下,请注意我如何将QPushButton的“ clicked”信号连接到QDialog的“ show”插槽。非常便利。