Qt标准对话框:8大对话框详解

这篇具有很好参考价值的文章主要介绍了Qt标准对话框:8大对话框详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、颜色选择对话框

颜色对话框类 QColorDialog 提供了一个可以获取指定颜色的对话框的对话框部件:

//添加头文件
#include <QColorDialog>

//getColor的3个参数分别是:设置初始颜色、父窗口、和对话框标题
QColor color = QColorDialog::getColor(Qt::red, this, "Color dialog");
qDebug()<<"color"<<color;

这里使用 QColorDialog 的静态函数 getColor () 来获取颜色,执行时弹出颜色选择对话框:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

返回的是一个 QColor 类型的数据:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

这四个数值分别代表:透明度(alpha)、Red、Green、Blue。它们的默认值都是 0.0~1.0,有效数字为 6 位,对于 alpha 来说,1.0 表示完全不透明,0.0 表示完全透明。

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓文章来源地址https://www.toymoban.com/news/detail-772073.html

还可以通过创建对象的方式创建颜色对话框:

QColorDialog dialog(Qt::red,this);
dialog.setOption(QColorDialog::ShowAlphaChannel);
dialog.exec();
QColor color = dialog.currentColor();
qDebug()<<"color"<<color;

效果与前面使用静态方法的一样。

二、字体对话框

字体对话框 QFontDialog 类提供了一个可以选择字体的对话框部件:

#include <QFontDialog>

//ok is a sign to mark what you chosen(OK or Calcel)
bool ok;
QFont font = QFontDialog::getFont(&ok,this);
if(ok) {    //choose OK
    ui->pushButton_2->setFont(font);
} else {    //choose cancel
    qDebug()<<"Cancel";
}

这里通过静态函数来选择字体,如果在字体对话框中单击了 OK,那么 ok=true;如果单击了 Cancel,那么 ok=false。

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

 

三、输入对话框

输入对话框 QInputDialog 类用来提供一个简单方便的对话框,从用户哪里去一个单一的数值或字符串。

//头文件
#include <QInputDialog>


bool ok;
//gain stirng
//getText()参数:指定父窗口、设置窗口标题、设置对话框中的标签的显示文本、
//输入字符串的显示模式(例如密码显示小黑点)、设置输入框中的默认字符串,按钮信息
QString string = QInputDialog::getText(this, "Input string Dialog",
                     "please input user name:", QLineEdit::Normal,
                     "admin", &ok);
if(ok) {
    qDebug()<<"stirng:"<<string;
}

//gain int
int valueInt = QInputDialog::getInt(this, "Input Int Dailog",
                   "please input a value between -1000 and 1000",
                   100, -1000, 1000, 10, &ok);
if(ok) {
    qDebug()<<"valueInt:"<<valueInt;
}

//gain float
double valueDouble = QInputDialog::getDouble(this, "Input Double Dialog",
                         "please input a value between -1000 and 1000",
                         0.00, -1000, 1000, 2, &ok);
if(ok) {
    qDebug()<<"valueDouble:"<<valueDouble;
}
QStringList items;
items<<"item1"<<"item2";

//gain items
QString item = QInputDialog::getItem(this, "Input Item Dialog",
                   "please choose a item:", items, 0, true, &ok);
if(ok) {
    qDebug()<<"item:"<<item;
}

显示如下:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

输入后,显示结果为:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

四、进度对话框

进度对话框 QProgressDialog 对一个耗时较长的操作进度提供了反馈。

#include <QProgressDialog>

QProgressDialog dialog("copy progress", "Cancel", 0, 50000, this);
dialog.setWindowTitle("Progress Dialog");   //set window title
dialog.setWindowModality(Qt::WindowModal);  //set dialog modal
dialog.show();
//演示复制进度
for(int i = 0; i < 50000; ++i) {
    dialog.setValue(i);                 //设置进度条当前值
    QCoreApplication::processEvents();  //避免界面冻结
    if(dialog.wasCanceled()) {          //按下取消键则中断
        break;
    }
}
dialog.setValue(50000);     //显示100%
qDebug()<<"copy finish";

效果:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

 

五、错误信息对话框

QErrorMessage 类提供了一个显示错误信息的对话框:

#include <QErrorMessage>

QErrorMessage *dialog = new QErrorMessage(this);
dialog->setWindowTitle("Error mesage Dialog");
dialog->showMessage("This is error message.");

显示:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

 

五、文件对话框

5.1. 选择打开一个文件

文件对话框 QFileDialog 提供了一个用户选择文件或文件夹的对话框:

#include <QFileDialog>

//getOpenFileName()函数用来获取选择的文件名,参数:指定父窗口、设置标题、默认打开目录、文件类型过滤器。
QString fileName = QFileDialog::getOpenFileName(this, "File Dialog",
                                                    "/home/daowm/", "Picture(* png * jpg)");
qDebug()<<fileName;

运行程序显示:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

可以设置多个不同类别的过滤器,不同类别间使用两个分号 “;;” 隔开,例如:

QString fileName = QFileDialog::getOpenFileName(this, "File Dialog", "/home/daowm/",
                                                    "Picture(* png * jpg);;TextFile(* txt)");

5.2. 打开多个文件

可以使用 getOpenFileNames () 函数选择多个文件:

#include <QFileDialog>

QStringList fileNames = QFileDialog::getOpenFileNames(this, "File Dialog", "/home/daowm/",
                                                    "Picture(* png * jpg);;TextFile(* txt)");
qDebug()<<fileNames;

得到的 fileNames 为:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

 

5.3. 使用 getSaveFileName () 来实现保存文件对话框

5.4. 使用 ExistingDirectory () 函数来获取一个已存在的文件夹路径

六、消息对话框

QMessageBox 类提供一个模态对话框来通知用户一些信息,或者向用户提出一个问题并获取答案。

#include <QMessageBox>


//question Dialog
int ret1 = QMessageBox::question(this, tr("Question Dialog"), tr("Do you know Qt?"),
                                 QMessageBox::Yes,QMessageBox::No);
if(ret1 == QMessageBox::Yes){
    qDebug()<<tr("Question!");
}

//Information Dialog
int ret2 = QMessageBox::information(this, tr("Information Dialog"), tr("This is Qt!"),
                                    QMessageBox::Ok);
if(ret2 == QMessageBox::Ok){
    qDebug()<<tr("Information!");
}

//Warning Dialog
int ret3 = QMessageBox::warning(this, tr("Warning Dialog"), tr("1111"),
                                QMessageBox::Abort);
if(ret3 == QMessageBox::Abort) {
    qDebug()<<tr("Warning!");
}

//Critial Dialog
int ret4 = QMessageBox::critical(this, tr("Critial Dailog"), tr("Find a critial question!"),
                                 QMessageBox::YesAll);
if(ret4 == QMessageBox::YesAll) {
    qDebug()<<tr("Critial!");
}

//About Dialog
QMessageBox::about(this, tr("About Dialog"), tr("This is a About Dialog!"));

显示:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

 

七、向导对话框

QWizard 类提供了一个设计向导界面的框架。

//添加头文件
#include <QWizard>


//在窗口的头文件中添加函数声明:
private:
    QWizardPage *createPage1();
    QWizardPage *createPage2();
    QWizardPage *createPage3();


//实现这三个函数
QWizardPage * Widget::createPage1()    //wizard page 1
{
    QWizardPage *page = new QWizardPage;
    page->setTitle(tr("Introduce"));
    return page;
}

QWizardPage * Widget::createPage2()   //wizard page 2
{
    QWizardPage *page = new QWizardPage;
    page->setTitle(tr("Select Information"));
    return page;
}

QWizardPage * Widget::createPage3()   //wizard page 3
{
    QWizardPage *page = new QWizardPage;
    page->setTitle(tr("Finish"));
    return page;
}


//执行向导
QWizard wizard(this);
wizard.setWindowTitle(tr("Wizard Dialog"));
wizard.addPage(createPage1());    //add wizard page
wizard.addPage(createPage2());
wizard.addPage(createPage3());
wizard.exec();

显示如下:

qt选择对话框,Qt开发,qt,ui,qt教程,qt开发,qt项目

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

到了这里,关于Qt标准对话框:8大对话框详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【QT】标准对话框

    目录 1 概述 2 QFileDialog对话框 1.选择打开一个文件 2.选择打开多个文件 3.选择已有目录 4.选择保存文件名 3 QColorDialog对话框 4 QFontDialog对话框 5 QInputDialog标准输入对话框 1.输入文字 2.输入整数 3.输入浮点数 4.下拉列表选择输入 6 QMessageBox消息对话框 1.函数原型 2.简单信息

    2024年02月02日
    浏览(37)
  • Qt标准对话框设置

    Qt标准对话框设置,设置字体、调色板、进度条等。

    2024年02月22日
    浏览(32)
  • Python Qt6快速入门-自定义对话框和标准对话框

    对话框是有用的 GUI 组件,可以与用户进行交流(因此得名对话框)。 它们通常用于文件打开/保存、设置、首选项或不适合应用程序主 UI 的功能。 它们是位于主应用程序前面的小模态(或阻塞)窗口,直到它们被关闭。 Qt 为最常见的用例提供

    2024年02月03日
    浏览(36)
  • 12.QT文件对话框 文件的弹窗选择-QFileDialog

    目录 前言: 技能: 内容: 1. 界面 2.信号槽  3.其他函数 参考: 前言: 通过按钮实现文件弹窗选择以及关联的操作 效果图就和平时用电脑弹出的选文件对话框一样 技能:  QString filename = QFileDialog::getOpenFileName(this, \\\"弹窗标题\\\",                                          

    2024年02月20日
    浏览(34)
  • Qt开发:自定义对话框

    1、添加自定义对话类框。 首先向该项目中添加Qt设计师界面类。界面模板选择 Dialog without Buttons,类名改为MyDialog。然后在设计模式中向窗口添加两个Push Button,并且分别更改其显示文本为“进入主界面”和“退出程序”           这个accept()函数是QDialog类中的一个槽,对于一个

    2024年02月11日
    浏览(24)
  • C++ Qt开发:自定义Dialog对话框组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍自定义 Dialog 组件的常用方法及灵活运用。 在之前的文章中笔者已经为大家展示

    2024年02月04日
    浏览(31)
  • Qt应用开发(基础篇)——对话框窗口 QDialog

            QDialog 类继承于QWidget,是Qt基于对话框窗口(消息窗口 QMessageBox 、颜色选择窗口 QColorDialog 、文件选择窗口 QFileDialog 等)的基类。           QDialog 窗口是顶级的窗口,一般情况下,用来当做用户短期任务(确认、输入、选择)或者和用户交流(提示、错误、警告、进

    2024年02月10日
    浏览(32)
  • Qt应用开发(基础篇)——输入对话框 QInputDialog

             QInputDialog 类继承于 QDialog ,是一个简单方便的对话框,用于从用户获取单个值。         对话框窗口 QDialog           QInputDialog输入对话框 带有一个文本标签、一个输入框和标准按钮。输入内容可以字符、数字和选项,文本标签用来告诉用户应该要输入什

    2024年02月10日
    浏览(28)
  • Qt5开发及实例V2.0-第四章Qt基本对话框

    首先介绍标准文件对话框(QFileDialog)、标准颜色对话框(QColorDialog)、标准字体对话框(QFontDialog)、标准输入对话框(QInputDialog)及标准消息对话框(QMessageBox),运行效果如图4.1所示。 按如图4.1所示依次执行如下操作。 (1)单击“文件标准对话框实例”按钮,弹出“文

    2024年02月07日
    浏览(44)
  • 06-2_Qt 5.9 C++开发指南_自定义对话框及其调用

    本篇介绍到的对话框及其调用实例较为复杂但十分详细,如果做了解可以先参考:QT从入门到实战x篇_13_模态和非模态对话框创建。 在一个应用程序设计中,为了实现一些特定的功能,必须设计自定义对话框。自定义对话框的设计一般从QDialog 继承,并且可以采用 UI 设计器可

    2024年02月13日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包