所以我有一个模态对话框:
class GraphChooser : public QDialog
{
Q_OBJECT
public:
GraphChooser(QWidget * parent = 0);
virtual ~GraphChooser();
void addGraphItem(QString factoryKey, QString graphDescription);
public slots:
void graphConfirmed(void);
void showDialog(void) { exec(); };
private:
QMap<QString, QString> graphNameToFactoryMap_;
Ui::GraphChooser ui;
signals:
void graphSelected(QString& selected);
};
我连接到一个按钮来运行
connect(dataForm_.btnAddWindow, SIGNAL(clicked()),
&graphChooser_, SLOT(exec()));
对话框不是模态的。我也尝试过setModal(true)和一个普通的show()。还有什么我应该注意的吗?
答案 0 :(得分:1)
您必须在创建对话框时设置父窗口小部件。否则,对话框不知道它应该是什么模态。