我有幾個對話框和按鈕來調用這些對話框。但是,每次點擊按鈕都會調用一個新的對話窗口。我希望現有的窗口先關閉,然後用戶可以點擊按鈕打開另一個窗口。Qt運行單一應用程序
下面是調用插槽的按鈕示例。每當我點擊按鈕時,它都會調用對話窗口的副本。有沒有辦法只調用對話窗口的一個副本?
謝謝。
Bookmark.cpp:
Bookmark::Bookmark()
{
createButtons();
connect(bookmarkButton, SIGNAL(clicked()), this, SLOT(openBookmarkDlg()));
}
void Bookmark::createButtons()
{
...
bookmarkButton = new QToolButton;
bookmarkButton->setText("Bookmark");
addWidget(bookmarkButton);
...
}
void Bookmark::openBookmarkDlg()
{
BookmarkDlg *bkDlg = new BookmarkDlg;
bkDlg->show();
}
Bookmark.h:
class Bookmark : public QToolBar
{
Q_OBJECT
public:
Bookmark(void);
~Bookmark(void);
public slots:
void openBookmarkDlg();
private:
createButtons();
QToolButton *bookmarkButton;
};
只是不在'Bookmark :: openBookmarkDlg()中創建對話框的另一個實例'' –
@DmitrySazonov:謝謝。我將'new'語句移到我的構造函數中,現在它只打開對話窗口的一個實例。我也編輯了'show()'到'exec()'。 – Wallace
@Wallace如果我的回答很有幫助,請投票。如果它解決了您的問題,請點擊附近的複選框。通過做這些事情你會幫助未來的遊客。 – karlphillip