[英]open new window as a dialog (Qt4)
我创建了一个主窗口和新窗口。 当按下主窗口上的按钮时,将出现新窗口。 没关系。 但我需要新窗口作为对话框。 这意味着打开对话框后,主窗口将无法运行,直到对话框关闭。 并且当打开对话框时,新的 tsb 将不会出现在任务栏中。 这该怎么做。
这是我使用的一些代码,
主窗口.h
private:
Form *myform;
public slots:
void myformshow();
主窗口.cpp
mainWin::mainWin(QWidget *parent)
{
setupUi(this);
connect(pushButton,SIGNAL(clicked()),this,SLOT(myformshow()));
}
void mainWin::myformshow(){
myform= new Form(); //make sure to delete newform someware.
myform->show();
}
表格.h
class Form : public QWidget, private Ui::Form
{
Q_OBJECT
public:
Form(QWidget *parent);
public slots:
void command();
};
#endif // FORM_H
这里 Form 的意思是,我创建了一个名为forms.h
的新窗口,它的类是Form
使第二个窗口从 QDialog 继承(不是绝对必要的,但会为您提供正确的特定于平台的行为,例如居中和各种窗口标志),将主窗口设置为其父窗口,并使用其exec()
函数运行它。
首先,将您的 Form 类更改为从 QDialog 继承:
class Form : public QDialog, private Ui::Form
(如果您在 From 类代码的其他地方引用了 QWidget,也请更改它们。)
然后,在您的 mainWin::myformshow() 函数中,执行以下操作:
void mainWin::myformshow()
{
myform = new Form; //make sure to delete newform someware.
myform->exec();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.