所謂标準對話框,是 Qt 内置的一系列對話框,用于簡化開發。
較為常用的内置對話框有:QColorDialog(選擇顔色),QFileDialog(選擇檔案或者目錄),QFontDialog(選擇字型),QInputDialog(允許使用者輸入一個值,并将其值傳回),QMessageBox(模态對話框),QPrintDialog(列印機配置)。
前一篇blog裡實作了文本檔案的讀取和儲存,能夠實作了文本編輯器的部分功能,在txt文本編輯器裡還能夠設定選中文本的顔色以及字型,這裡我們調用的是windows自帶的QColorDialog和QFontDialog。
首先在mainwindow.h裡聲明字型設定和顔色設定兩個槽函數
private slots:
void setColorSlots();
void selectAllSlots();
然後在cpp檔案中進行定義
void MainWindow::setFontSlots(){
bool ok;
QFont font=QFontDialog::getFont(&ok,this);
if(ok){
ui->textEdit->setFont(font);
}
else{
QMessageBox::information(this,"錯誤資訊","無法擷取目前字型");
return;
}
}
void MainWindow::setColorSlots(){
QColor color=QColorDialog::getColor(Qt::green,this);//打開顔色設定框預設的是綠色
if(color.isValid()){
ui->textEdit->setTextColor(color);
}
else{
QMessageBox::information(this,"錯誤資訊","無法擷取顔色");
return;
}
}