110 lines
4.1 KiB
C++
110 lines
4.1 KiB
C++
|
#include "mainwindow2.h"
|
||
|
#include <QDebug>
|
||
|
#include <QFileDialog>
|
||
|
|
||
|
MainWindow2::MainWindow2(QWidget *parent) : QMainWindow(parent)
|
||
|
{
|
||
|
setWindowTitle("对话框学习中...");
|
||
|
setWindowIcon(QIcon(":/icon/open"));
|
||
|
resize(1200,960);
|
||
|
|
||
|
mEdit = new QTextEdit(this);
|
||
|
mEdit->close();
|
||
|
setCentralWidget(mEdit);
|
||
|
|
||
|
setCentralWidget(new QTextEdit(this));
|
||
|
QStatusBar *status_bar = new QStatusBar(this);
|
||
|
btn1 = new QPushButton("按钮1",status_bar);
|
||
|
btn2 = new QPushButton("按钮2",status_bar);
|
||
|
btn3 = new QPushButton("按钮3",status_bar);
|
||
|
btn4 = new QPushButton("定制MessageBox",status_bar);
|
||
|
btn5 = new QPushButton("button5",status_bar);
|
||
|
status_bar->addWidget(btn1);
|
||
|
status_bar->addWidget(btn2);
|
||
|
status_bar->addWidget(btn3);
|
||
|
status_bar->addWidget(btn4);
|
||
|
status_bar->addWidget(btn5);
|
||
|
setStatusBar(status_bar);
|
||
|
|
||
|
connect(btn1,&QPushButton::clicked,[&](){
|
||
|
QDialog dialog;
|
||
|
dialog.setWindowTitle(tr("自定义对话框 %1").arg(1));
|
||
|
// dialog.exec(); // 应用级别的模态对话框
|
||
|
dialog.show();
|
||
|
});
|
||
|
// connect(btn2,&QPushButton::clicked,[&](){
|
||
|
// QDialog *dialog = new QDialog(this);
|
||
|
// dialog->setWindowTitle(tr("自定义对话框 %1").arg(2));
|
||
|
// dialog->setAttribute(Qt::WA_DeleteOnClose); // 当关闭对话时,自动释放堆空间
|
||
|
// dialog->open(); // 窗口级别的模态对话框
|
||
|
|
||
|
// });
|
||
|
// connect(btn3,&QPushButton::clicked,[&](){
|
||
|
// QDialog *dialog = new QDialog(this);
|
||
|
// dialog->setWindowTitle(tr("自定义对话框 %1").arg(3));
|
||
|
// dialog->setAttribute(Qt::WA_DeleteOnClose); // 当关闭对话时,自动释放堆空间
|
||
|
// dialog->show(); // 窗口级别的非模态对话框
|
||
|
// });
|
||
|
|
||
|
|
||
|
|
||
|
connect(btn2,&QPushButton::clicked,[&](){
|
||
|
QMessageBox::warning(this,"警告","你的操作可能会失败...");
|
||
|
});
|
||
|
connect(btn3,&QPushButton::clicked,[&](){
|
||
|
// QMessageBox::StandardButton ret;
|
||
|
// ret = QMessageBox::question(this,"询问","选什么内容?");
|
||
|
// if(ret == QMessageBox::Yes)
|
||
|
// qDebug()<<"选了行";
|
||
|
// else
|
||
|
// qDebug()<<"没选行";
|
||
|
// QMessageBox::critical(this,"警告","太警告了");
|
||
|
QMessageBox::information(this,"info","no info",QMessageBox::NoButton,QMessageBox::Apply);
|
||
|
});
|
||
|
|
||
|
connect(btn4,&QPushButton::clicked,[&](){
|
||
|
QMessageBox *msgBox = new QMessageBox(this);
|
||
|
msgBox->setAttribute(Qt::WA_DeleteOnClose);
|
||
|
|
||
|
// msgBox->setIcon(QMessageBox::Critical);
|
||
|
// msgBox->setWindowTitle("自定义错误提示");
|
||
|
msgBox->setText("Error");
|
||
|
msgBox->setInformativeText("An error occurred while processing the request.");
|
||
|
msgBox->setStandardButtons(QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel);
|
||
|
msgBox->setDefaultButton(QMessageBox::Cancel);
|
||
|
int ret = msgBox->exec(); // 会返回一个 int
|
||
|
switch (ret) {
|
||
|
case QMessageBox::Ok:
|
||
|
qDebug()<<"Ok";
|
||
|
break;
|
||
|
case QMessageBox::Yes:
|
||
|
qDebug()<<"Yes";
|
||
|
break;
|
||
|
case QMessageBox::No:
|
||
|
qDebug()<<"No";
|
||
|
break;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
connect(btn5,&QPushButton::clicked,[&](){
|
||
|
|
||
|
// if(QMessageBox::Yes == QMessageBox::question(
|
||
|
// this,
|
||
|
// tr("Question"),
|
||
|
// tr("Are you OK?"),
|
||
|
// QMessageBox::Yes|QMessageBox::No,
|
||
|
// QMessageBox::Yes))
|
||
|
// {
|
||
|
// QMessageBox::information(this,tr("Hmmm..."),
|
||
|
// tr("I'm glad to hear that!"));
|
||
|
// }
|
||
|
// else{
|
||
|
// QMessageBox::information(this,
|
||
|
// tr("Hmmm..."),
|
||
|
// tr("I'm sorry!"));
|
||
|
// }
|
||
|
|
||
|
QMessageBox msgBox;
|
||
|
});
|
||
|
}
|