По нажатии на кнопку открывается еще одно окно. И все бы нормально, но хотелось бы, чтобы переключаться между этими окнами было невозможно (т.е. пока второе окно открыто, работа с первым невозможна). Как это можно реализовать?
Пробовал так:
NewWindow *nw = new NewWindow;
nw->setWindowModality(Qt::WindowModal) //кажется так...
nw->show();
?
new NewWindow(this);
Нет, немного не то. Имеется ввиду чтобы открывалось окно (новое) но переключиться на предыдущее было нельзя. (типа диалога Save as...: т.е. мы в этом диалоге можем щелкать что хотим, но пока его не закроем, с основным окном программы работать не можем)
используй
SABROG, да, попробовал, дело в том, что в этом случае открывается новый диалог, в этом же окне (новое не создается).
kwisp, но я так понял это применимо только к QDialog? А к QWidget?
Набросал 2 варианта:
QEventLoop el(this);
QWidget wid(this, Qt::Dialog);
QPushButton btn("Exit", &wid);
connect(&btn, SIGNAL(clicked()), &el, SLOT(quit()));
wid.setWindowModality(Qt::WindowModal);
wid.show();
el.exec();
QEventLoop el(this);
QWidget *wid = new QWidget(this, Qt::Dialog);
QPushButton *btn = new QPushButton("Exit", wid);
connect(btn, SIGNAL(clicked()), &el, SLOT(quit()));
wid->setWindowModality(Qt::WindowModal);
wid->show();
el.exec();
wid->deleteLater();
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)