QT 4.5 - 有一个模态对话框是模态的问题。要注意哪些陷阱?

时间:2009-09-28 08:21:07

标签: qt4 modal-dialog

所以我有一个模态对话框:

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()。还有什么我应该注意的吗?

1 个答案:

答案 0 :(得分:1)

您必须在创建对话框时设置父窗口小部件。否则,对话框不知道它应该是什么模态。