標準對話框
- 標準對話框
標準對話框

#include "msgboxdlg.h"
#include <QMessageBox>
MsgBoxDlg::MsgBoxDlg(QWidget* parent):QDialog(parent)
{
setWindowTitle("標準資訊對話框集合");
//構造部件
m_tipLabel = new QLabel("請選擇一種訊息框");
m_questionBtn = new QPushButton("問題訊息框");
m_informationBtn = new QPushButton("資訊訊息框");
m_warningBtn = new QPushButton("警告訊息框");
m_criticalBtn = new QPushButton("錯誤訊息框");
m_aboutBtn = new QPushButton("關于訊息框");
m_aboutQtBtn = new QPushButton("關于Qt訊息框");
//布局界面
m_mainLayout = new QGridLayout(this);
m_mainLayout->addWidget(m_tipLabel,0,0,1,2);
m_mainLayout->addWidget(m_questionBtn,1,0);
m_mainLayout->addWidget(m_informationBtn,1,1);
m_mainLayout->addWidget(m_warningBtn,2,0);
m_mainLayout->addWidget(m_criticalBtn,2,1);
m_mainLayout->addWidget(m_aboutBtn,3,0);
m_mainLayout->addWidget(m_aboutQtBtn,3,1);
connect(m_questionBtn,&QPushButton::clicked,
this,&MsgBoxDlg::showQuestionMsgDlg);
connect(m_informationBtn,&QPushButton::clicked,
this,&MsgBoxDlg::showInfoMsgDlg);
connect(m_warningBtn,&QPushButton::clicked,
this,&MsgBoxDlg::showWarnMsgDlg);
connect(m_criticalBtn,&QPushButton::clicked,
this,&MsgBoxDlg::showCriticalMsgDlg);
connect(m_aboutBtn,&QPushButton::clicked,
this,&MsgBoxDlg::showAboutMsgDlg);
connect(m_aboutQtBtn,&QPushButton::clicked,
this,&MsgBoxDlg::showAboutQtMsgDlg);
}
void MsgBoxDlg::showQuestionMsgDlg()
{
m_tipLabel->setText("問題訊息框");
int res = QMessageBox::question(this,
"問題訊息框",
"您已打開問題訊息框,是否關閉?",
QMessageBox::Ok |
QMessageBox::Cancel,
QMessageBox::Ok);
switch (res){
case QMessageBox::Ok:
m_tipLabel->setText("問題訊息框-確定");
break;
case QMessageBox::Cancel:
m_tipLabel->setText("問題訊息框-取消");
break;
default:
break;
}
}
void MsgBoxDlg::showInfoMsgDlg()
{
m_tipLabel->setText("資訊訊息框");
QMessageBox::information(this,
"資訊提示框",
"這是個資訊提示框,我也不知道寫點啥?");
}
void MsgBoxDlg::showWarnMsgDlg()
{
m_tipLabel->setText("警告訊息框");
int res = QMessageBox::warning(this,
"警告訊息框",
"您有未保存的資料,是否保存?",
QMessageBox::Save |
QMessageBox::Discard |
QMessageBox::Cancel,
QMessageBox::Save);
switch(res){
case QMessageBox::Save:
m_tipLabel->setText("點擊了保存");
break;
case QMessageBox::Discard:
m_tipLabel->setText("點擊了忽視");
break;
case QMessageBox::Cancel:
m_tipLabel->setText("點擊了取消");
break;
default:
break;
}
}
void MsgBoxDlg::showCriticalMsgDlg()
{
m_tipLabel->setText("錯誤訊息框");
QMessageBox::critical(this,
"錯誤訊息框",
"發生重大錯誤!!!");
}
void MsgBoxDlg::showAboutMsgDlg()
{
m_tipLabel->setText("關于訊息框");
QMessageBox::about(this,
"關于",
"這是個關于關于的資訊,");
}
void MsgBoxDlg::showAboutQtMsgDlg()
{
m_tipLabel->setText("關于Qt訊息框");
QMessageBox::aboutQt(this,"關于Qt...");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/293774.html
標籤:其他
