天天看點

我的Qt學習之路——标準對話框

所謂标準對話框,是 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;
    }
}
           

繼續閱讀