国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

第三篇:對話框窗口部件 QDialog

這篇具有很好參考價值的文章主要介紹了第三篇:對話框窗口部件 QDialog。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

對話框窗口部件 QDialog

對話框(Dialog)是計算機圖形用戶界面(GUI)中的一種常見窗口類型,通常用于與用戶進行交互、獲取信息、提供反饋或執(zhí)行特定任務。對話框的主要目的是與用戶進行短期的、有限的交互,以完成特定的操作或任務,然后將控制返回給應用程序的主窗口或上下文。

模態(tài)與非模態(tài)對話框

按照運行對話框時是否還可以和該程序的其他窗口進行交互,對話框常被分為兩類:模態(tài)(model)和非模態(tài)(modeless)。

模態(tài)對話框(model dialog)

模態(tài)對話框阻塞了應用程序的主窗口或其他父窗口,直到用戶完成對話框中的操作或關閉對話框。用戶必須在對話框上完成交互后才能繼續(xù)與應用程序交互。典型的模態(tài)對話框包括文件選擇框、消息框、設置對話框等。

方法 1:exec()
QDialog dlg();
dlg.exec();

此方法實現(xiàn)的為全模態(tài)對話框,不僅會阻塞應用程序窗口,當調(diào)用 exec() 函數(shù)時,代碼將不會繼續(xù)向下執(zhí)行,只有當對話框關閉才會返回。

方法 2:setModel()
QDialog dlg();
dlg.setModel(true);
dlg.show();

此方法實現(xiàn)的為半模態(tài)對話框,只會阻塞應用程序窗口,代碼仍然繼續(xù)向下執(zhí)行。

方法 3:setWindowModality()
QDialog dlg();
dlg.setWindowModality(Qt::ApplicationModal);
dlg.show();

使用此方法實現(xiàn)的模態(tài)對話框也是半模態(tài)的。

setWindowModality()的參數(shù)設置要阻塞的窗口類型:

枚舉值 說明
Qt::NonModal 0 非模態(tài),不阻塞任何窗口
Qt::WindowModal 1 模態(tài),阻塞它的父窗口,所有的祖先窗口以及他們的子窗口
Qt::NonModal 2 模態(tài),阻塞應用程序所有的窗口

非模態(tài)對話框(modeless dialog)

非模態(tài)對話框與應用程序的其他部分同時存在,用戶可以在對話框和主窗口之間自由切換。用戶可以同時打開多個非模態(tài)對話框,而不必等待一個對話框完成才能處理其他任務。典型的非模態(tài)對話框包括查找和替換對話框。

QDialog dlg();
dlg.show();

標準對話框

Qt 提供了一些常用的對話框類型,它們?nèi)坷^承自 QDialog 類,并增加了自己的特色功能,例如顏色、文件、字體、輸入、提示、進度對話框等。此處只列舉顏色、文件對話框和消息對話框,其余留給你自己練習!

顏色對話框

顏色對話框類 QColorDialog 提供了一個可以獲取指定顏色的對話框部件。

#include <QColorDialog>

QColor color = QColorDialog::getColor(Qt::red, nullptr, QObject::tr("顏色對話框"));
qDebug() << "color" << color;

QColorDialog::getColor 的 3 個參數(shù)分別是:設置初始顏色、指定父窗口和設置對話框標題。

運行結果如圖:

第三篇:對話框窗口部件 QDialog,qt從入門到項目實戰(zhàn),qt,c++

其實 QColorDialog::getColor 函數(shù)聲明是這樣的:


QColor 
getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions())

聰明的你可能已經(jīng)發(fā)現(xiàn)了,這不是 4 個參數(shù)嗎?咱咋沒用呢?

options 是指定影響顏色對話框外觀的各種選項,QColorDialog::ColorDialogOption 具體見下表:

枚舉值 說明
QColorDialog::ShowAlphaChannel 1 允許用戶選擇顏色的alpha組件
QColorDialog::NoButtons 2 不顯示“確定”和“取消”按鈕。(對于”live dialog”很有用。)
QColorDialog::DontUseNativeDialog 4 使用Qt的標準顏色對話框,而不是操作系統(tǒng)的本機顏色對話框

接下來我們使用 QColorDialog::ShowAlphaChannel 來顯示 alpha 設置。運行程序查看結果如圖所示:

第三篇:對話框窗口部件 QDialog,qt從入門到項目實戰(zhàn),qt,c++

文件對話框

文件對話框 QFileDialog 類提供了一個允許用戶選擇文件或文件夾的對話框。

#include <QFileDialog>

QString fileName = QFileDialog::getOpenFileName(nullptr, QObject::tr("Open File"), "D:\\", QObject::tr("文本文檔(*.txt)"));
qDebug() << "fileName:" << fileName;

QFileDialog::getOpenFileName 的 4 個參數(shù)的作用分別是:指定父窗口、設置對話框標題、指定默認打開目錄路徑和設置文件類型過濾器。

運行結果如圖:

第三篇:對話框窗口部件 QDialog,qt從入門到項目實戰(zhàn),qt,c++

其實 QFileDialog::getOpenFileName 函數(shù)聲明是這樣的:

QString QFileDialog::getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())

selectedFilter 用于存儲用戶選擇的過濾器的名稱,可以設置默認選擇哪種過濾器。
options 用于指定對話框的選項。詳見 QFileDialog::Options 枚舉。

注意:getOpenFileName() 只能選擇單一文件,要同時選擇多個文件,則可以使用 getOpenFileNames() 函數(shù)。

消息對話框

消息對話框 QMessageBox 類提供了一個模態(tài)的對話框來通知用戶一些信息,或者向用戶提出一個問題并且獲取答案。

// 提示對話框
int ret = QMessageBox::information(nullptr, QObject::tr("提示"), QObject::tr("這是一個提示對話框"), QMessageBox::Ok);
if (ret == QMessageBox::Ok)
    qDebug() << QObject::tr("提示");

// 警告對話框
int ret2 = QMessageBox::warning(nullptr, QObject::tr("警告"), QObject::tr("這是一個警告對話框"), QMessageBox::Abort);
if (ret2 == QMessageBox::Abort)
    qDebug() << QObject::tr("警告");

// 錯誤對話框
int ret3 = QMessageBox::critical(nullptr, QObject::tr("錯誤"), QObject::tr("這是一個錯誤對話框"), QMessageBox::YesAll);
if (ret3 == QMessageBox::YesAll)
    qDebug() << QObject::tr("錯誤");

// 關于對話框
QMessageBox::about(nullptr, QObject::tr("關于"), QObject::tr("這里是bmseven的博客"));

// 提問對話框,帶有Yes和No按鈕
QMessageBox::StandardButton reply;
reply = QMessageBox::question(nullptr, QObject::tr("提問"), QObject::tr("你確定要執(zhí)行此操作嗎?"),
                                QMessageBox::Yes | QMessageBox::No);
if (reply == QMessageBox::Yes) {
    qDebug() << QObject::tr("用戶選擇了Yes。");
} else {
    qDebug() << QObject::tr("用戶選擇了No。");
}

運行結果如圖:

第三篇:對話框窗口部件 QDialog,qt從入門到項目實戰(zhàn),qt,c++
第三篇:對話框窗口部件 QDialog,qt從入門到項目實戰(zhàn),qt,c++
第三篇:對話框窗口部件 QDialog,qt從入門到項目實戰(zhàn),qt,c++
第三篇:對話框窗口部件 QDialog,qt從入門到項目實戰(zhàn),qt,c++
第三篇:對話框窗口部件 QDialog,qt從入門到項目實戰(zhàn),qt,c++
這里創(chuàng)建了 5 個不同類型的消息對話框,分別擁有不同的圖標和提示音(這個是操作系統(tǒng)設置的),幾個參數(shù)分別用于設置父窗口、標題欄、顯示信息和擁有的按鈕。

這里使用的都是 QMessageBox 類提供的標準按鈕。返回值也都是 QMessageBox::StandardButton 枚舉類型的值,唯獨關于對話框 about() 函數(shù)沒有返回值,因為它默認只有一個按鈕。文章來源地址http://www.zghlxwxcb.cn/news/detail-666659.html

到了這里,關于第三篇:對話框窗口部件 QDialog的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • QDialog實現(xiàn)圓角對話框的三種方式

    方式一:通過QBitMap設置控件有效繪制區(qū)域(缺點:容易產(chǎn)生鋸齒,鋸齒來自于QBitMap) Dialog繼承Qdialog 設置無邊框及背景透明 重寫paintEvent 參考鏈接:https://blog.csdn.net/ajcjldd/article/details/127306630 方式二:QPainter直接繪制圓角矩形(缺點:無法使用qss方式配置背景色,需要根據(jù)主

    2024年02月06日
    瀏覽(31)
  • 嵌入式Qt 對話框及其類型 QDialog

    嵌入式Qt 對話框及其類型 QDialog

    對話框是與用戶進行簡短交互的頂層窗口。 QDialog是Qt中所有對話框窗口的基類。 QDialog繼承與QWidfet是一種容器類型的組件。 ?QDialog的意義: QDialog作為一種專業(yè)的交互窗口而存在。 QDialog不能作為子部部件嵌入其他容器中。 QDialog是定制了窗口式樣的特殊的QWidget。 模態(tài)對話框

    2024年04月11日
    瀏覽(21)
  • QT基礎教程之五對話框QDialog

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

    2024年02月10日
    瀏覽(22)
  • Opencv顯示圖片(MFC基于對話框窗口)

    Opencv顯示圖片(MFC基于對話框窗口)

    #1.編輯對話框按鈕,修改各個按鈕窗口ID和綁定變量 picture 控件 “打開圖片”按鈕控件 #2.編寫顯示圖片函數(shù) void DrawMat(cv::Mat img, UINT nID); .h文件進行聲明 .cpp進行定義 #3.定義CString fun_LoadImg();函數(shù) .h文件進行聲明 .cpp文件進行定義 #4.雙擊“打開圖片”按鈕 系統(tǒng)自動彈出響應函數(shù)

    2024年04月15日
    瀏覽(38)
  • PyQt5 框架搭建+實戰(zhàn)(多窗口打開,文件對話框)

    PyQt5 框架搭建+實戰(zhàn)(多窗口打開,文件對話框)

    1.Qt設計師界面創(chuàng)建主窗口 2.轉化成py文件 3.建立一個主窗口類,繼承Qwidget和Qt設計師生成的UI類 4.寫一個main函數(shù)入口,創(chuàng)建app,創(chuàng)建主窗口類實例,show(), app.exec() 我們不要在Qt設計師生成的界面上去增加我們的代碼,因為這個界面我們一直都需要修改,修改后生成新的py代碼

    2024年02月02日
    瀏覽(22)
  • easyx學習筆記(六):播放音樂,修改窗口標題,彈出對話框

    easyx學習筆記(六):播放音樂,修改窗口標題,彈出對話框

    學習視頻【C/C++/EasyX】學編程,做游戲,小白快速入門圖形編編程 目錄 播放音樂 修改窗口標題,彈出對話框 為了實現(xiàn)用c語言播放音樂,需要用到windos的一個API ? ? ? ? 1.需要包含頭文件windos.h和mmsystem.h(如果已經(jīng)包含graphics.h則無需包含windos.h;? ? ? ? mmsystem.h需要放在graph

    2024年02月06日
    瀏覽(23)
  • Qt編程基礎 | 第三章-控件 | 3.3、對話框

    Qt編程基礎 | 第三章-控件 | 3.3、對話框

    對話框:在主窗口中操作,有可能觸發(fā)某一個行為動作,會彈出一個新的對話窗口,解決一個臨時性的會話,在對話窗口中執(zhí)行某一個功能。QDialog可以作為自定義對話框的基類,同時Qt也提供了一些標準對話框,例如:QFileDialog、QColorDialog等,下面是QDialog類的繼承結構,如下

    2024年02月06日
    瀏覽(93)
  • Python 圖形化界面基礎篇:使用彈出窗口和對話框

    在開發(fā)圖形用戶界面( GUI )應用程序時,與用戶進行交互的一種常見方式是通過彈出窗口和對話框。這些彈出窗口允許用戶輸入數(shù)據(jù)、進行選擇、查看信息等。 Python 的 Tkinter 庫和一些第三方庫提供了創(chuàng)建和管理彈出窗口和對話框的方法。在本篇博客中,我們將深入探討如何

    2024年02月03日
    瀏覽(21)
  • Rust UI開發(fā)(三):iced如何打開圖片(對話框)并在窗口顯示圖片?

    Rust UI開發(fā)(三):iced如何打開圖片(對話框)并在窗口顯示圖片?

    注:此文適合于對rust有一些了解的朋友 iced是一個跨平臺的GUI庫,用于為rust語言程序構建UI界面。 這是一個系列博文,本文是第三篇,前兩篇的鏈接: 1、Rust UI開發(fā)(一):使用iced構建UI時,如何在界面顯示中文字符 2、Rust UI開發(fā)(二):iced中如何為窗口添加icon圖標 本篇是

    2024年02月04日
    瀏覽(54)
  • QT中在MainWindow(主窗口)中創(chuàng)建Dialog(對話框)兩種方式優(yōu)缺點對比

    QT中在MainWindow(主窗口)中創(chuàng)建Dialog(對話框)兩種方式優(yōu)缺點對比

    新建窗口工程 利用ui工具在Window中創(chuàng)建三個按鈕 打開對話框 關閉對話框 改變?nèi)齻€按鈕的名稱 openDialog closeDialog 在工程中添加QDialog類,名字是Dialog 在Dialog中創(chuàng)建label控件,寫上HelloWorld 最關鍵的一步,在window的類中創(chuàng)建Dialog私有對象指針 在window.cpp中編寫指針myDialog的初始化代

    2024年02月07日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包