当前位置: 首页 > news >正文

【QT】Qt对话框

在这里插入图片描述

个人主页~

Qt窗口属性~


Qt窗口

  • 五、对话框
    • 2、Qt内置对话框
      • (1)Message Box
      • (2)QColorDialog
      • (3)QFileDialog
      • (4)QFontDialog
      • (5)QInputDialog

五、对话框

2、Qt内置对话框

Qt内置的所有对话框全部继承自QDialog

(1)Message Box

消息对话框是非常常见常用的界面元素,主要用于为用户提示重要信息,强制用户进行选择操作
QMessageBox类中定义了静态成员函数有四个

函数作用
Question用于正常操作过程中的提问
Information用于报告正常运行信息
Warning用于报告非关键错误
Critical用于报告严重错误
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//创建一个按钮和消息对话框,按钮用来呼唤对话框QPushButton* btn = new QPushButton("消息对话框",this);QMessageBox* mb = new QMessageBox(this);//设置对话框基本信息mb->setWindowTitle("警告");//标题mb->setText("错误信息");//文本内容mb->setIcon(QMessageBox::Question);//图标设置mb->setStandardButtons(QMessageBox::Ok|QMessageBox::No|QMessageBox::Help);//按钮设置connect(btn,&QPushButton::clicked,[=](){mb->show();});
}

messagedialog

(2)QColorDialog

颜色对话框功能就是让用户选择颜色

方法说明
QColorDialog(QWidget* parent = nullptr)创建对象的同时设置父对象
QColorDialog(const QColor& initial,QWidget* parent = nullptr)创建对象的同时通过QColor对象设置默认颜色和父对象
void setCurrentColor(const QColor& color)设置当前颜色对话框
QColor currentColor() const获取当前颜色对话框
QColor getColor(const QColor& initial = Qt::white, QWidget* parent = nullptr, const QString& title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions())打开颜色选择对话框,并返回一个QColor对象
void open((QObject* receiver,constchar* member)打开颜色对话框

其中倒数第二个函数,initial是设置默认颜色,parent是设置父对象,title是设置对话框标题,options是设置选项

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//创建按钮和颜色对话框QPushButton* btn = new QPushButton("颜色对话框",this);QColorDialog* cd = new QColorDialog(this);//连接两者connect(btn,&QPushButton::clicked,[=](){cd->setCurrentColor(QColor(100,100,100));cd->open();});
}

colordialog

(3)QFileDialog

方法说明
QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())打开一个文件
QStringList getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr,QFileDialog::Options options = Options())打开多个文件
QString getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())保存文件

parent:父亲
caption:对话框标题
dir:默认打开路径
filter:文件过滤器

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QPushButton* btn = new QPushButton("按钮",this);QFileDialog* fd = new QFileDialog(this);connect(btn,&QPushButton::clicked,[=](){QString str = fd->getOpenFileName(this,"文件","C://Users//14725//Desktop","*.jpg");});}

在这里插入图片描述

(4)QFontDialog

**MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QPushButton* btn = new QPushButton("字体对话框",this);connect(btn,&QPushButton::clicked,[=](){bool flag;//getFont的第一个参数必须为bool类型QFont font = QFontDialog::getFont(&flag,QFont("华文行楷",36));});
}

在这里插入图片描述

(5)QInputDialog

方法说明
double getDouble(QWidget* parent,const QString& title, const QString& label, double value =0,doublemin=-2147483647,doublemax=2147483647,intdecimals=1,bool* ok=nullptr, Qt::WindowFlags flags = Qt::WindowFlags());双精度浮点型输入数据对话框
int getInt (QWidget* parent, const QString& title, const QString& label, int value = 0, int min=-2147483647,intmax=2147483647,intstep=1,bool* ok=nullptr,Qt::WindowFlags flags = Qt::WindowFlags());整型输入数据对话框
QString getItem (QWidget* parent, const QString& title, const QString& label, const QStringList& items, int current = 0, bool editable = true, bool* ok =nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone) ;选择条目型输入数据框

parent:父亲
title:对话框标题
label:对话框标签
items:可供选择的条目

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QPushButton* btn = new QPushButton("输入对话框",this);QInputDialog* id = new QInputDialog(this);connect(btn,&QPushButton::clicked,[=](){//参数2是输入对话框名,参数3是输入对话框内容int i = id->getInt(this,"输入框","int型");});
}

在这里插入图片描述


今日分享就到这了~

在这里插入图片描述

http://www.lryc.cn/news/476489.html

相关文章:

  • 【计算机网络篇】数据链路层(14)虚拟局域网VLAN(概述,实现机制)
  • 伺服中的电子凸轮与追剪
  • Oracle 第22章:数据仓库与OLAP
  • 在Ubuntu上安装TensorFlow与Keras
  • vue data变量之间相互赋值或进行数据联动
  • 如何理解ref,toRef,和toRefs
  • 从单一到多元:揭秘 Hexo Diversity 主题的运行原理
  • 软考中级(系统集成项目管理工程师)案例分析计算题-笔记
  • Docker打包自己项目推到Docker hub仓库(windows10)
  • CesiumJS 案例 P20:监听鼠标滚轮、监听鼠标左键按下与松开、监听鼠标右键按下与松开、监听鼠标左击落点
  • 如何使用Web-Check和cpolar实现安全的远程网站监测与管理
  • 随机生成100组N个数并对比,C++,python,matlab,pair,std::piecewise_construct
  • python爬虫获取数据后的数据提取
  • 前段(vue)
  • pairwise算法之rank svm
  • SAP RFC 用户安全授权
  • 记录新建wordpress站的实践踩坑:wordpress 上传源码新建站因权限问题导致无法访问、配置新站建站向导以及插件主题上传配置的解决办法
  • 为啥学习数据结构和算法
  • Java - 免费图文识别_Java_免费_图片转文字_文字识别_spring ai_spring ai alibaba
  • 《JVM第6课》本地方法栈
  • 3.1 快速启动Flink集群
  • 如何设计一个毫秒级的接口?
  • 从语义实施工程师到大数据开发工程师的职业转型
  • 关联容器笔记
  • 在阿里云快速启动Umami玩转网页分析
  • Linux练习作业
  • FFMPEG录屏(21)--- Linux 下基于X11枚举所有可见窗口,并获取标题、图标、缩略图、进程路径等信息
  • mybatis resultMap标签注意事项(pageHelper结合使用的坑)
  • 100种算法【Python版】第33篇——Tonelli-Shanks算法
  • 深度学习基础知识-全连接层