• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

      400-811-9990
      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當前位置:合肥千鋒IT培訓  >  技術干貨  >  QT使用教程之QDialog概述

      QT使用教程之QDialog概述

      來源:千鋒教育
      發布人:qyf
      時間: 2023-02-13 17:29:48

        1、QDialog概述

        概念:

        對話框是 GUI 程序中不可或缺的組成部分。很多不能或者不適合放入主窗口的功能組件都必須放在對話框中設置。對話框通常會是一個頂層窗口,出現在程序最上層,用于實現短期任務或者簡潔的用戶交互。

        分類:

        模態對話框:就是會阻塞同一應用程序中其它窗口的輸入

        非模態對話框:不會阻塞同一應用程序中其它窗口的輸入

        2、自定義QDialog對話框

        模態對話框:

        #include

        QDialog dialog;

        dialog.setWindowTitle(tr("Hello, dialog!"));

        dialog.exec();

        非模態對話框:

        QDialog *dialog = new QDialog;

        dialog->setAttribute(Qt::WA_DeleteOnClose);

        dialog->setWindowTitle(tr("Hello, dialog!"));

        dialog->show();

        注意:

        1、對話框創建要在堆創建

        2、由于對話框的特性,可以設置對話框關閉,自動銷毀對話框。

        3、標準對話框

        概念:標準對話框,是 Qt 內置的一系列對話框。

        分類:

      圖片 1

        4、文件對話框

      圖片 2

        #include

        #include

        #include

        //打開一個文件

        QString fileName = QFileDialog::getOpenFileName(this, tr("打開文件"),"./", tr("Images (*.png *.xpm *.jpg);;Text (*.txt)"));

        if(!fileName.isEmpty())

        ui->plainTextEdit->appendPlainText(fileName);

        //打開多個文件

        QStringList filesName = QFileDialog::getOpenFileNames(

        this,

        "打開文件",

        "./",

        "Images (*.png *.xpm *.jpg)");

        for(int i=0;i<filesname.count();i++)< p="">

        {

        qDebug()<<filesname.at(i);< p="">

        }

        總結:

        1、文件對話框使用,參考幫助文檔。

        2、getOpenFileName,getOpenFileNames參數:父類對象指針,文件對話框的標題,打開文件路徑,文件過濾器

        3、文件過濾器寫法:

        "Images (*.png *.xpm *.jpg)"

        "Images (*.png *.xpm *.jpg);;Text (*.txt)"

      圖片 3

        5、選擇顏色對話框

        QColorDialog::getColor生成顏色對話框

        //生成顏色對話框,選擇顏色,設置編輯器字體顏色

        QPalette pal = ui->plainTextEdit->palette();//獲取現有palette

        QColor iniColor = pal.color(QPalette::Text);//現有文字顏色

        QColor color = QColorDialog::getColor(iniColor,this,"選擇顏色");

        //判斷選擇顏色是否有效,如果有效設置編輯器字體顏色

        if(color.isValid()){

        pal.setColor(QPalette::Text,color);

        ui->plainTextEdit->setPalette(pal);

        }

        總結:

        1、顏色對話框使用,參考幫助文檔。

        2、getColor生成顏色對話框,返回值是一個顏色變量,如果在顏色對話框選擇取消,返回值無效,反之有效

      圖片 4

        6、選擇字體對話框

        QFontDialog::getFont生成選擇字體對話框

        bool ok;

        QFont iniFont = ui->plainTextEdit->font();//獲取原有文本框字體

        QFont font = QFontDialog::getFont(&ok, iniFont, this);

        if (ok) {//如果ok=true

        ui->plainTextEdit->setFont(font);

        }

        總結:

        1、選擇字體對話框使用,參考幫助文檔。

        2、getFont生成選擇字體對話框,返回值不能判斷有效,一般是根據getFont的第一個參數邏輯變量是否為ture。

      圖片 5

        7、消息對話框

      圖片 6

        //錯誤彈窗

        //QMessageBox::critical(this,"錯誤消息對話框","程序出現錯誤");

        //警告彈窗

        // QMessageBox::warning(this,"警告消息對話框","程序出現警告");

        //消息彈窗

        // QMessageBox::information(this,"消息對話框","程序一切正常",QMessageBox::Ok,QMessageBox::NoButton);

        //消息選擇彈窗

        QMessageBox::StandardButton result;

        result=QMessageBox::question(this,"選擇消息框","文件已修改,是否保存",QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel,QMessageBox::NoButton);

        if(result==QMessageBox::Yes)

        qDebug()<<"正在保存";

        else if(result==QMessageBox::No)

        qDebug()<<"不保存";

        else

        qDebug()<<"取消操作";

      圖片 7

        8、輸入對話框

        QInputDialog::輸入文本/整形數據/浮點型數據....對話框

        //生成輸入文字對話框

        bool ok;

        QString text = QInputDialog::getText(this, tr("輸入文字對話框"),

        tr("請輸入文字"), QLineEdit::Normal,"demo", &ok);

        if (ok && !text.isEmpty())

        ui->plainTextEdit->appendPlainText(text);

      圖片 8

      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

      猜你喜歡LIKE

      unity快捷鍵大全

      2023-08-28

      unity射線檢測多個物體

      2023-08-28

      unity富文本字體大小

      2023-08-28

      最新文章NEW

      unity性能優化指標

      2023-08-28

      unity開發常用框架

      2023-08-28

      unity玻璃材質球

      2023-08-28

      相關推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網友熱搜 更多>>