QT基礎-彈出框(資訊框,模態框,操作框)
阿新 • • 發佈:2021-08-31
學習前端知識的時候就瞭解到讓使用者使用的介面一定要足夠清晰,因為你永遠不知道使用者會以何種方式開啟你開發的軟體,所以莫泰提示框就很重要了。下面將會介紹幾本的集中模態對話方塊,用來提升使用者體驗!
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()));
善用對話方塊,善待使用者!