qdialog 返回值_c – QDialog exec()并获取结果值
我已經將QDialog子類化為實現類似于QMessageBox的功能(我需要這個以允許自定義).它有一條短信和OK,取消按鈕.我正在使用exec()顯示對話框以使其阻止.現在,當用戶單擊“確定/取消”時,如何返回true / false值?
我嘗試將按鈕連接到setResult(),然后在單擊時返回結果值,但是
1.單擊按鈕不會關閉對話框
2.返回值不正確.
以下是我寫的代碼.我認為我在exec / result部分錯了 – 但我不知道如何解決它.
class MyMessageBox : public QDialog
{
Q_OBJECT
private slots:
void onOKButtonClicked(){ this->setResult(QDialog::Accepted);}
void onCancelButtonClicked(){ this->setResult(QDialog::Rejected);}
public:
MyMessageBox(QMessageBox::Icon icon, const QString & title, const QString & text, bool showCancelButton = true, QWidget *parent = 0 );
virtual void resizeEvent(QResizeEvent* e);
QDialog::DialogCode showYourself()
{
this->setWindowModality(Qt::ApplicationModal);
this->exec();
return static_cast<:dialogcode>(this->result());
}
};
用戶將實例化該類并調用showYourself(),它將返回該值并關閉(并刪除)該對話框.
我發布了部分代碼.如果您需要更多,請告訴我,我會發布完整版本.
總結
以上是生活随笔為你收集整理的qdialog 返回值_c – QDialog exec()并获取结果值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js用递归遍历多维数组_JavaScri
- 下一篇: centos 释放swap_centos