1. 程式人生 > 其它 >QT基礎-彈出框(資訊框,模態框,操作框)

QT基礎-彈出框(資訊框,模態框,操作框)

學習前端知識的時候就瞭解到讓使用者使用的介面一定要足夠清晰,因為你永遠不知道使用者會以何種方式開啟你開發的軟體,所以莫泰提示框就很重要了。下面將會介紹幾本的集中模態對話方塊,用來提升使用者體驗!

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()));

善用對話方塊,善待使用者!