【QT】Qt窗口(下)

news/2024/12/27 8:18:17/

在这里插入图片描述

个人主页~

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.ppmy.cn/news/1543308.html

相关文章

【JavaEE】【多线程】进阶知识

目录 一、常见的锁策略1.1 悲观锁 vs 乐观锁1.2 重量级锁 vs 轻量级锁1.3 挂起等待锁 vs 自旋锁1.4 普通互斥锁 vs 读写锁1.5 可重入锁 vs 不可重入锁1.6 不公平锁 vs 公平锁 二、synchronized特性2.1 synchronized的锁策略2.2 synchronized加锁过程2.3 其它优化措施 三、CAS3.…

Kubeadm搭建k8s

一、架构 节点名称规格IP地址安装组件master012C/4G,cpu核心数要求大于2192.168.88.76docker、kubeadm、kubelet、kubectl、flannelnode012C/2G192.168.88.20docker、kubeadm、kubelet、kubectl、flannelnode022C/2G192.168.88.21docker、kubeadm、kubelet、kubect…

大数据技术的前景如何?

在当今数字化迅猛发展的时代,大数据技术的前景显得尤为广阔。随着数据量的激增,如何有效利用这些数据成为了各行各业关注的焦点。未来五年,大数据技术的发展趋势可以从市场规模、技术融合、行业应用和政策支持等多个方面进行深入分析。 1. 市…

excel指定单元格输入相同的值,比如给D1~D10000输入现在的值

注意,一点不用用WPS,不然运行宏是会报:Droiact-Module1,第1行等Λ列语法错误: Unexpected identifier 步骤 1,altF11打开宏 2,输入脚本 3,点击运行按钮 成功后会看看到

记录生活之JSON.parse坑 -- 【JavaScript】

目录 起因 问题 解决 因为是太简单的问题了,无法百度。(他们只会告诉你key取值取错了或者的确是没有对应的value值) js中的对象是只能用string || symbol类型来定义,所以obj[item.label]没有问题 那么问题出现哪里呢&#x…

logback日志脱敏后异步写入文件

大家项目中肯定都会用到日志打印,目的是为了以后线上排查问题方便,但是有些企业对输出的日志包含的敏感(比如:用户身份证号,银行卡号,手机号等)信息要进行脱敏处理。 哎!我们最近就遇到了日志脱敏的改造。可…

推荐一款优秀的pdf编辑器:Ashampoo PDF Pro

Ashampoo PDF Pro是管理和编辑 PDF 文档的完整解决方案。程序拥有您创建、转换、编辑和保护文档所需的一切功能。根据需要可以创建特定大小的文档,跨设备可读,还可以保护文件。现在您还能像编辑Word文档一样编辑PDF! 软件特点 轻松处理文字 如 Microso…

深入理解Docker,从入门到精通-Part1(基础使用)

一、Docker基本概念 Docker架构 基本组件的介绍 Docker Client 是用户界面,它支持用户与Docker Daemon之间通信 Docker Daemon Docker最核心的后台进程,运行于主机上,处理服务请求 Docker registry是中央registry,支持拥有公有与…