學習前端知識的時候就了解到讓用戶使用的界面一定要足夠清晰,因為你永遠不知道用戶會以何種方式打開你開發的軟件,所以莫泰提示框就很重要了。下面將會介紹幾本的集中模態對話框,用來提升用戶體驗!
1、模態框
1、模態對話框
打開模態對話框之后該程序不可進行其他操作,只能操作當前彈出的模態對話框。阻塞狀態。
// 模態對話框
#include "QDialog"
QDialog dig(this);
dig.resize(200,100);
dig.exec();
2、非模態對話框
相反,可以操作其他的對話框/界面。非阻塞
// 非模態對話框
QDialog *dig3 = new QDialog(this);
dig3->resize(200,100); // 重置大小
dig3->setWindowTitle("打開我");
dig3->show();
dig3->setAttribute(Qt::WA_DeleteOnClose); // 關閉對話框的時候刪除堆區的dig2
3、錯誤對話框
提示出錯!
QMessageBox::critical(this,"critical","錯誤");
4、信息對話框
QMessageBox::information(this,"info", "信息");
5、提問對話框
這個對話框有返回值,返回用戶選擇了什么!
//提問對話框
// 參數 父親,標題,提示內容,關聯案件類型,默認關聯回車按鍵類型,
if(QMessageBox::Yes == QMessageBox::question(this,"提問","確定么???", QMessageBox::Yes|QMessageBox::No,QMessageBox::Yes))
{
QMessageBox::information(this, "info", "你點了確定!!!");
}
else
{
QMessageBox::information(this, "info", "你點了否定!!!");
}
6、警告對話框
發出警告!
QMessageBox::warning(this,"warning","警告");
2、其他對話框
1、顏色對話框
讓用戶選擇顏色
QColor color = QColorDialog::getColor(QColor(255,0,0));
qDebug()<< color.red();
qDebug()<< color.green();
qDebug()<< color.blue();
2、文件對話框
讓用戶選擇文件,可以返回文件路徑
// 參數:父親 標題 默認路徑 文件類型
QString file = QFileDialog::getOpenFileName(this,"打開文件", "E:/","(*.rar)");
qDebug()<< file;
ui->textBrowser->setText(file);
3、字體對話框
讓用戶選擇字體
bool flag;
QFont font = QFontDialog::getFont(&flag,QFont("微軟雅黑", 32));
qDebug()<< "字體:" << font.family().toUtf8().data();// QString 轉 char*
qDebug()<< "字號:" << font.pointSize();
qDebug()<< "是否斜體: "<< font.italic();
qDebug()<< "是否加粗:"<< font.bold();
ui->textBrowser->append("字體:");
ui->textBrowser->append(font.family().toUtf8().data());
ui->textBrowser->append("\n");
ui->textBrowser->append("字號:");
ui->textBrowser->append(QString::number(font.pointSize()));
善用對話框,善待用戶!
