【嵌入式——QT】标准对话框

【嵌入式——QT】标准对话框

  • 文件对话框
  • 颜色对话框
  • 字体对话框
  • 输入对话框
  • 消息框
  • 代码示例

文件对话框

QFileDialog
常用静态函数

  • getOpenFileName:选择打开一个文件;
  • getOpenFileNames:选择打开多个文件;
  • getSaveFileName:选择保存一个文件;
  • getExistingDirectory:选择一个已有的目录;
  • getOpenFileUrl:选择打开一个文件,可选择远程网络文件;

图示
在这里插入图片描述

颜色对话框

QColorDialog
常用静态函数

  • getColor:选择颜色;

图示
在这里插入图片描述

字体对话框

QFontDialog
常用静态函数

  • getFont:选择字体;

图示
在这里插入图片描述

输入对话框

QInputDialog
常用静态函数

  • getText:输入单行文字;
  • getInt:输入整数;
  • getDouble:输入浮点数;
  • getItem:从一个下拉列表框中选择输入;
  • getMultiLineText:输入多行字符串;

图示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

消息框

QMessageBox

常用静态函数

  • information:信息提示对话框;
  • question:询问并获取是否确认的对话框;
  • warning:警告信息提示对话框;
  • critical:错误信息提示对话框;
  • about:设置自定义信息的关于对话框;
  • aboutQt:关于Qt的对话框;

图示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码示例

DialogDialog.h

#ifndef DIALOGDIALOG_H
#define DIALOGDIALOG_H#include <QDialog>namespace Ui
{class DialogDialog;
}class DialogDialog : public QDialog
{Q_OBJECTpublic:explicit DialogDialog(QWidget* parent = nullptr);~DialogDialog();private slots:void on_pushButtonOpen_clicked();void on_pushButtonOpens_clicked();void on_pushButtonSelect_clicked();void on_pushButtonSave_clicked();void on_pushButtonColor_clicked();void on_pushButtonFont_clicked();void on_pushButtonQuestion_clicked();void on_pushButtonInformation_clicked();void on_pushButtonWarning_clicked();void on_pushButtonCritical_clicked();void on_pushButtonAbout_clicked();void on_pushButtonAboutQt_clicked();void on_pushButtonStr_clicked();void on_pushButtonInt_clicked();void on_pushButtonFloat_clicked();void on_pushButtonItem_clicked();void on_pushButtonClear_clicked();private:Ui::DialogDialog* ui;
};#endif // DIALOGDIALOG_H

DialogDialog.cpp

#include "DialogDialog.h"
#include "ui_DialogDialog.h"
#include <QDir>
#include <QFileDialog>
#include <QColorDialog>
#include <QFontDialog>
#include <QLineEdit>
#include <QInputDialog>
#include <QMessageBox>
DialogDialog::DialogDialog(QWidget* parent): QDialog(parent), ui(new Ui::DialogDialog)
{ui->setupUi(this);
}DialogDialog::~DialogDialog()
{delete ui;
}void DialogDialog::on_pushButtonOpen_clicked()
{QString curPath = QDir::currentPath();QString aFileName = QFileDialog::getOpenFileName(this, u8"选择一个文件", curPath);if(!aFileName.isEmpty()) {ui->plainTextEdit->appendPlainText(aFileName);}
}void DialogDialog::on_pushButtonOpens_clicked()
{QString curPath = QDir::currentPath();QStringList aFileNames = QFileDialog::getOpenFileNames(this, u8"选择一个文件", curPath);for(int i=0; i<aFileNames.count(); i++) {ui->plainTextEdit->appendPlainText(aFileNames.at(i));}
}void DialogDialog::on_pushButtonSelect_clicked()
{QString curPath = QCoreApplication::applicationDirPath();QString selectedDir = QFileDialog::getExistingDirectory(this, u8"选择一个目录", curPath, QFileDialog::ShowDirsOnly);if(!selectedDir.isEmpty()) {ui->plainTextEdit->appendPlainText(selectedDir);}
}void DialogDialog::on_pushButtonSave_clicked()
{QString curPath = QCoreApplication::applicationDirPath();QString fileName = QFileDialog::getSaveFileName(this, u8"保存文件", curPath);if(!fileName.isEmpty()) {ui->plainTextEdit->appendPlainText(fileName);}
}void DialogDialog::on_pushButtonColor_clicked()
{QPalette pal = ui->plainTextEdit->palette();//获取现有paletteQColor initColor = pal.color(QPalette::Text);//现有文字颜色QColor color = QColorDialog::getColor(initColor, this, u8"选择颜色");if(color.isValid()) {pal.setColor(QPalette::Text, color);ui->plainTextEdit->setPalette(pal);}
}void DialogDialog::on_pushButtonFont_clicked()
{QFont initFont = ui->plainTextEdit->font();bool ok = false;QFont font = QFontDialog::getFont(&ok, initFont);if(ok) {ui->plainTextEdit->setFont(font);}
}void DialogDialog::on_pushButtonQuestion_clicked()
{QMessageBox::StandardButton defaultBtn = QMessageBox::NoButton;QMessageBox::StandardButton result;result = QMessageBox::question(this, u8"question消息框", u8"文件已被修改,是否保存", QMessageBox::Yes|QMessageBox::No | QMessageBox::Cancel, defaultBtn);if(result == QMessageBox::Yes) {ui->plainTextEdit->appendPlainText(u8"quesstion消息框 Yes 被选择");} else if(result == QMessageBox::No) {ui->plainTextEdit->appendPlainText(u8"quesstion消息框 No 被选择");} else if(result == QMessageBox::Cancel) {ui->plainTextEdit->appendPlainText(u8"quesstion消息框 Cancel 被选择");} else {ui->plainTextEdit->appendPlainText(u8"quesstion消息框无选择");}
}void DialogDialog::on_pushButtonInformation_clicked()
{QMessageBox::information(this, u8"information消息框", u8"文件已经打开,字体大小已设置", QMessageBox::Ok, QMessageBox::NoButton);
}void DialogDialog::on_pushButtonWarning_clicked()
{QMessageBox::warning(this, u8"warning消息框", u8"文件内容已被修改");
}void DialogDialog::on_pushButtonCritical_clicked()
{QMessageBox::critical(this, u8"critical消息框", u8"有不明程序访问网络");
}void DialogDialog::on_pushButtonAbout_clicked()
{QMessageBox::about(this, u8"about消息框", u8"软件版本1.0.0");
}void DialogDialog::on_pushButtonAboutQt_clicked()
{QMessageBox::aboutQt(this, u8"aboutQt消息框");
}void DialogDialog::on_pushButtonStr_clicked()
{QLineEdit::EchoMode echoMode = QLineEdit::Normal;bool ok = false;QString text = QInputDialog::getText(this, u8"输入文字对话框", u8"输入文件名", echoMode, u8"新建文件.txt", &ok);if(ok && !text.isEmpty()) {ui->plainTextEdit->appendPlainText(text);}
}void DialogDialog::on_pushButtonInt_clicked()
{int defaultValue = ui->plainTextEdit->font().pointSize();int minValue = 6, maxValue = 50, stepValue = 1;bool ok = false;int inputValue = QInputDialog::getInt(this, u8"输入整数对话框", u8"设置字体大小", defaultValue, minValue, maxValue, stepValue, &ok);if(ok) {QFont font = ui->plainTextEdit->font();font.setPointSize(inputValue);ui->plainTextEdit->setFont(font);}
}void DialogDialog::on_pushButtonFloat_clicked()
{float defaultValue = 3.13;float minValue = 0, maxValue = 1000;int decimals = 2;bool ok = false;float inputValue = QInputDialog::getDouble(this, u8"输入浮点数对话框", u8"输入浮点数", defaultValue, minValue, maxValue, decimals, &ok);if(ok) {QString str = QString::asprintf(u8"输入一个浮点数:%.2f", inputValue);ui->plainTextEdit->appendPlainText(str);}
}void DialogDialog::on_pushButtonItem_clicked()
{QStringList items;items<<u8"优秀"<<u8"良好"<<u8"合格"<<u8"不合格";int curIndex = 0;bool editable = true;bool ok = false;QString text = QInputDialog::getItem(this, u8"条目选择对话框", u8"选择级别", items, curIndex, editable, &ok);if(ok && !text.isEmpty()) {ui->plainTextEdit->appendPlainText(text);}
}void DialogDialog::on_pushButtonClear_clicked()
{ui->plainTextEdit->clear();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/740810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法面试题】-07

小明找位置 题目描述 小朋友出操&#xff0c;按学号从小到大排成一列;小明来迟了&#xff0c;请你给小明出个主意&#xff0c;让他尽快找到他应该排的位置。 算法复杂度要求不高于nLog(n);学号为整数类型&#xff0c;队列规模<10000; 输入描述 1、第一行:输入已排成队列的…

浅淡 C++ 与 C++ 入门

我们知道&#xff0c;C语言是结构化和模块化的语言&#xff0c;适用于较小规模的程序。而当解决复杂问题&#xff0c;需要高度抽象和建模时&#xff0c;C语言则不合适&#xff0c;而C正是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的吸烟检测系统(深度学习+Python代码+PySide6界面+训练数据集)

摘要&#xff1a;本文详细说明了如何利用深度学习开发一个用于监测吸烟行为的系统&#xff0c;并分享了完整的代码实现。该系统采用了先进的YOLOv8算法&#xff0c;同时还使用YOLOv7、YOLOv6、YOLOv5算法&#xff0c;并对它们进行了性能比较&#xff0c;呈现了不同模型的性能指…

记一次特殊的渗透经历

起因 搞安全的小伙伴们应该知道&#xff0c;干我们这行老是会碰到一些奇奇怪怪的问题和需求&#xff0c;比如上次&#xff0c;某客户领导说让我给他找个会渗透的小伙子来&#xff0c;有个比较棘手的业务。我一听&#xff0c;心想&#xff1a;好嘛&#xff0c;这私活不就来了嘛…

MySQL 开发规范

优质博文&#xff1a;IT-BLOG-CN 一、设计原则 原则&#xff1a; SQL开发规范制定是基于良好的编码习惯和可读性&#xff1b; 目的&#xff1a; 消除冗余&#xff0c;数据简约&#xff0c;提高效率&#xff0c;提高安全&#xff1b; 【1】禁止在线上生产环境做数据库压力测试&…

视频监控管理系统EasyCVR平台设备增删改操作不生效是什么原因?

国标GB28181协议EasyCVR安防平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流&#xf…

数据结构——线性表顺序表示详解

目录 1.线性表的类型定义 2.基本操作 3.线性表的存储结构 4.补充 1.元素类型说明 2.数组定义​编辑 3.c语言的内存动态分配 4.c的动态存储分配 5.c中的参数传递 引用类型作参数 6.顺序表基本操作的实现 1.线性表的初始化 代码示例&#xff1a; 2.销毁线性表&…

什么是光伏气象站?—气象科普

光伏气象站&#xff0c;也称为光伏环境监测仪&#xff0c;是一种专门针对光伏发电站研发生产的环境监测系统。它主要利用太阳能电池板将太阳能转化为电能&#xff0c;并配备有气象监测设备以实时监测和记录气象数据。这些数据对于评估光伏电站的性能、效率和故障诊断至关重要&a…

SV-7045网络草坪音箱安装说明 景区园区背景音乐广播石头音箱

SV-7045网络草坪音箱安装说明 景区园区背景音乐广播石头音箱 在做室外公共广播/背景音乐系统时&#xff0c;对于草坪音箱的安装方法,大家可能不甚了解&#xff0c;所以将具体安装方法作简要说明。 音箱安装步骤如下&#xff1a; 1.测量草地音箱的底座尺寸大小&#xff0c;最…

Linux 多线程开发

第三章 Linux 多线程开发 3.1 线程3.1.2 线程操作3.1.2 线程属性 3.2 线程同步3.2.1 互斥量/锁3.2.2 死锁3.2.3 读写锁 3.3 生产者消费者模型3.3.1 条件变量3.3.2 信号量/灯 网络编程系列文章&#xff1a; 第1章 Linux系统编程入门&#xff08;上&#xff09; 第1章 Linux系统…

TSINGSEE青犀煤矿矿井视频监控与汇聚融合管理视频监管平台建设方案

一、背景需求 随着我国经济的飞速发展&#xff0c;煤炭作为我国的主要能源之一&#xff0c;其开采和利用的重要性不言而喻。然而&#xff0c;煤矿事故频发&#xff0c;不仅造成了巨大的人员伤亡和财产损失&#xff0c;也对社会产生了深远的负面影响。视频监控系统作为实现煤矿智…

【Rockchip android7.1 平台rtl8821cs wifi移植调试】

Rockchip 平台rtl8821cs wifi移植调试 问题描述解决方法 郑重声明:本人原创博文&#xff0c;都是实战&#xff0c;均经过实际项目验证出货的 转载请标明出处:攻城狮2015 Platform: Rockchip rk3128 OS:Android 7.1.2 Kernel: 3.10 问题描述 客户需要在现在的板子上调一款RTL882…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的商品识别系统(深度学习+UI界面+训练数据集+Python代码)

摘要&#xff1a;在零售行业的技术进步中&#xff0c;开发商品识别系统扮演着关键角色。本博文详细阐述了如何利用深度学习技术搭建一个高效的商品识别系统&#xff0c;并分享了一套完整的代码实现。系统采用了性能强劲的YOLOv8算法&#xff0c;同时对YOLOv7、YOLOv6、YOLOv5等…

华为OD机试 - 字符串化繁为简(Java 2024 C卷 200分)

目录 专栏导读一、题目描述示例&#xff1a; 二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&…

2024蓝桥杯每日一题(区间合并)

一、第一题&#xff1a;挤牛奶 解题思路&#xff1a;区间合并 区间合并模板题 【Python程序代码】 n int(input()) a [] for i in range(n):l,r map(int,input().split())a.append([l,r]) def cmp(x):return x[0],x[1] a.sort(keycmp) res1,res20,0 st,ed a[0][0…

visualization_msgs::Marker 的pose设置,map坐标系的3d box显示问题

3D框显示 3D框显示可以使用visualization_msgs::Marker::LINE_LIST或者LINE_STRIP&#xff0c;前者使用方法需要指明线的两个端点&#xff0c;后者自动连接相邻两个点。 姿态问题 网上看了一些&#xff0c;没有涉及到朝向设置&#xff0c;Pose.orientation默认构造为4个0 至…

Python环境下一维时间序列的小波尺度谱和时间平均小波谱(基于Morlet小波)

小波分析是较好的非平稳信号分析方法之一&#xff0c;它通过伸缩和平移运算对信号进行多尺度细化分析&#xff0c;能够在不同的尺度上描述信号的局部特征&#xff0c;为微弱故障特征信号的检测提供了有效的工具。小波尺度谱可看作一个有恒定相对带宽的谱图&#xff0c;能够反映…

Java剖析 : HashMap底层存储数据的结构 | HashSet添加不重复元素底层原理

HashSet底层剖析 前言&#xff1a; 我们知道Set中所存储的元素是不重复的&#xff0c;那么Set接口的实现类HashSet在添加元素时是怎么避免重复的呢&#xff1f; ★ HashSet在添加元素时&#xff0c;是如何判断元素重复的? ● 在底层会先调用hashCode()&#xff0c…

OpenAI:ChatGPT API 文档之 Embedding

在自然语言处理和机器学习领域&#xff0c;"embeddings" 是指将单词、短语或文本转换成连续向量空间的过程。这个向量空间通常被称为嵌入空间&#xff08;embedding space&#xff09;&#xff0c;而生成的向量则称为嵌入向量&#xff08;embedding vector&#xff0…

14---DVI电路设计

视频链接 DVI硬件电路设计01_哔哩哔哩_bilibili DVI电路设计 1、DVI的简介 DVI(Digital Visual Interface)&#xff0c;即数字视频接口。它是1998年9月&#xff0c;在Intel开发者论坛上成立的&#xff0c;由Silicon Image、Intel(英特尔)、Compaq(康柏)、IBM(国际商业机器公…