QT:UI控件(按设计师界面导航界面排序)
基础部分
创建新项目:QWidget,QMainWindow,QDialog
QMainWindow继承自QWidget,多了菜单栏;
QDialog继承自QWidget,多了对话框
QMainWindow 菜单栏和工具栏:
Bar:
菜单栏:QMenuBar,菜单:QMenu

//重置窗口大小resize(600,400);//菜单栏创建(菜单栏最多只能有一个)QMenuBar * bar = menuBar();//将菜单栏放入到窗口中setMenuBar(bar);//创建菜单QMenu * filename= bar->addMenu("文件");QMenu * editname= bar->addMenu("编辑");QAction * newAction = filename->addAction("新建");//添加分割线filename->addSeparator();//增加子菜单的内容QAction * OpenAction = filename->addAction("打开");//设置中心部件 只能有一个(这个可加可不加)QTextEdit *edit = new QTextEdit(this);setCentralWidget(edit);
工具栏:QToolBar,
状态栏:QStatusBar();
浮动窗口:QDockWidget 可以有多个
对话框:
消息对话框QMessage:错误对话框(critical),信息对话框(information),问题对话框(question),警告
选择颜色(QColorDialog):
选择文件或目录(QFileDialog):
...还有几个其他的标准对话框
按钮组
pushButton 显示文字
//lambda表达式(C++11特性):[](){}; connect(mybtn,&MyPushButton::clicked,[=](){this->close();});
//点击新建按钮,弹出对话框connect(ui->actionnew,&QAction::triggered,[=](){//对话框QDialog dlg(this);dlg.exec();});
ToolButton 可用来显示图片
单选: Radio Button
多选:check Box
(group box 可将选项button放在一起(单选/多选))
Item Views(Model-base)
是基于其他模组的,例如数据库之类。不常用
Item Widgets (Item-base):

表格控件:
控件:QListWidget(图片部件标注1的部分)
List Widget (分行显示):每一行:QListWidgetItem ,然后加入(addItem)到ui的listwidget控件中
//利用ListWidget逐行显示QListWidgetItem *item = new QListWidgetItem("one");//将第一行ui->listWidget->addItem(item);item->setTextAlignment(Qt::AlignHCenter);QStringList list;list<<"456"<<"7931"<<"46913";list.append("93");list.insert(6,"6666");ui->listWidget->addItems(list);
控件:QTreeWidget树控件(图片部件标注2的部分)
实现树列介绍,
//利用TreeWidget树控件使用ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍");QTreeWidgetItem * item_li = new QTreeWidgetItem(QStringList()<<"力量");QTreeWidgetItem * item_min = new QTreeWidgetItem(QStringList()<<"敏捷");QTreeWidgetItem * item_zhi = new QTreeWidgetItem(QStringList()<<"智力");//加载顶层的节点ui->treeWidget->addTopLevelItem(item_li);ui->treeWidget->addTopLevelItem(item_min);ui->treeWidget->addTopLevelItem(item_zhi);//追加子节点QStringList herpL1;herpL1<<"英雄1"<<"技能点1,技能点2";QTreeWidgetItem * L1 = new QTreeWidgetItem(herpL1);item_li->addChild(L1);
控件:QTableWidget控件(图片部件标注3的部分)
//利用TableWidget控件使用(表格)//设置列数ui->tableWidget->setColumnCount(3);//设置水平表头ui->tableWidget->setHorizontalHeaderLabels(QStringList ()<<"姓名"<<"性别"<<"年龄");//设置行数ui->tableWidget->setRowCount(5);//设置正文(第一行第一列)//ui->tableWidget->setItem(0,0,new QTableWidgetItem("人物1"));QStringList namelist;namelist<<"人物1"<<"人物2"<<"人物3"<<"人物4";QStringList sexlist;sexlist << "女1" <<"男1"<<"男1"<<"女2"; //此处使用"女1"for(int i=0;i<4;i++){int col=0;ui->tableWidget->setItem(i,col++,new QTableWidgetItem(namelist[i]));ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexlist[i]));ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(i+18)));}
其他常用控件:(Containers容器)
Group Box 分组的部件(直接在ui中拖动设置即可)(一般设置页面排版时用到,例如在单选/多选框)
Scroll Area 滚动的区域,滚动条(直接在ui中拖动设置即可)(图片部件标注4的部分)
ToolBox 分页(直接在ui中拖动设置即可)(图片部件标注5的部分)
Tab Widget 分页(直接在ui中拖动设置即可)(图片部件标注6的部分)
stacked widget 切换页面(调试时直接在ui中拖动设置即可,但是使用调用时需使用栈空间的索引进行切换),(图片部件标注7的部分)
例如:开发中有可识别的切换按钮,但是程序中切换需要通过新增按钮来进行切换(setCurrentIndex)
//栈控件的使用//设置默认值页面ui->stackedWidget->setCurrentIndex(0);connect(ui->pushButton_stackW_1,&QPushButton::clicked,[=](){ui->stackedWidget->setCurrentIndex(0); //定位到栈空间的索引});connect(ui->pushButton_stackW_2,&QPushButton::clicked,[=](){ui->stackedWidget->setCurrentIndex(1); //定位到栈空间的索引});connect(ui->pushButton_stackW_3,&QPushButton::clicked,[=](){ui->stackedWidget->setCurrentIndex(2); //定位到栈空间的索引});
Frame是一个边框
其他常用控件:(Input Widget)

Frame是一个边框
(Input Widget)
Combo Box 下拉框:(直接在ui中拖动设置即可)(图片部件标注1的部分)
//comboBox下拉框ui->comboBox->addItem("车1");ui->comboBox->addItem("车2");ui->comboBox->addItem("车3");//点击按钮,选中车三选项connect(ui->pushButton,&QPushButton::clicked,[=](){//ui->comboBox->setCurrentIndex(2);//或者直接输入文字(在确定有该选项的情况下)ui->comboBox->setCurrentText("车3");});
fontComboBox 字体下拉框(图片部件标注2的部分)
lineEdit 单行编辑框(图片部件标注3的部分)
TextEdit 多行编辑框(可改变字体颜色形式等)(图片部件标注4的部分)
Plain TextEdit 纯文本多行编辑框
spin box 逐个增减输入框(图片部件标注5的部分)
Double spin box 加小数点的(图片部件标注6的部分)
Time Edit 时间输入框(图片部件标注7的部分)
dateEdit 日期输入框
dateTimeEdit 时间和日期输入框
horizontalScrollBar 水平滑动条
verticalScrollBar 竖直滑动条
horizontalSlider 水平滑动条(可与spin box进行组合)
verticalSlider 竖直滑动条(可与spin box进行组合)
(Display widget)显示标签
label :可显示文字和图片(首先需要把图片添加到资源文件中,然后程序添加显示图片)

//在lable中显示图片(图片提前加载到项目资源文件res中)ui->label->setPixmap(QPixmap(":/1.jpg"));//在lable中也可以放动图QMovie * movie = new QMovie(":/one.gif"); //注意后缀需要是gifui->label->setMovie(movie);//播放动图movie->start();
相关文章:
QT:UI控件(按设计师界面导航界面排序)
基础部分 创建新项目:QWidget,QMainWindow,QDialog QMainWindow继承自QWidget,多了菜单栏; QDialog继承自QWidget,多了对话框 QMainWindow 菜单栏和工具栏: Bar: 菜单栏:QMenuBar࿰…...
AtCoder Beginner Contest 314-A/B/C
A - 3.14 题目要求输出圆周率保留小数几位后的结果 用字符串来存储长串的圆周率,截取字符串就可以了。 #include<iostream> using namespace std; int main() {string s"3.1415926535897932384626433832795028841971693993751058209749445923078164062…...
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
同时向讯飞星火、文心一言和通义千问三个国产AI模型提个相同的问题: “python 写一个贪吃蛇的游戏代码” 看哪一家AI写的程序直接能用,谁就胜出! 讯飞星火 讯飞星火给出的代码: import pygame import sys import random# 初…...
数学建模之“聚类分析”原理详解
一、聚类分析的概念 1、聚类分析(又称群分析)是研究样品(或指标)分类问题的一种多元统计法。 2、主要方法:系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。这里主要介绍系统聚类法…...
【面试问题】当前系统查询接口需要去另外2个系统库中实时查询返回结果拼接优化思路
文章目录 场景描述优化思路分享资源 场景描述 接口需要从系统1查询数据,查出的每条数据需要从另一个系统2中再去查询某些字段, 比如:从系统1中查出100条数据,每条数据需要去系统2中再去查询出行数据,可能系统1一条数…...
Scada和lloT有什么区别?
人们经常混淆SCADA(监督控制和数据采集)和IIoT(工业物联网)。虽然SCADA系统已经存在多年,但IIoT是一种相对较新的技术,由于其能够收集和分析来自各种设备的大量数据而越来越受欢迎。SCADA和IIoT都用于提高工…...
Conda(Python管理工具)
1.简介 Conda是一个开源的包管理器和环境管理器,主要用于管理Python,但也可以用于其他语言。它主要用于安装、管理和更新软件包及其依赖项,以及创建、保存、加载和切换不同的开发环境。Conda可以在Windows、MacOS和Linux系统上使用ÿ…...
(14)嵌套列表,Xpath路径表达式,XML增删查改,Implicit,Operator,Xml序列化,浅拷贝与深拷贝
一、作业问题 1、问:listbox1.items[i]返回的object是指的字符串吗? 答:items是真正的对象集合,在Add时加的是Person对象p,则里面的item就是Person对象p。 但是,在listbox1显…...
软考笔记 信息管理师 高级
文章目录 介绍考试内容与时间教材 预习课程一些例子课本结构考试内容 1 信息与信息化1.1 信息与信息化1.1.1 信息1.1.2 信息系统1.1.3 信息化 1.2 现代化基础设施1.2.1 新型基础建设1.2.2 工业互联网1.2.3 车联网: 1.3 现代化创新发展1.3.1 农业农村现代化1.3.2 两化…...
124、SpringMVC处理一个请求的流程是怎样的?
SpringMVC处理一个请求的流程是怎样的? 一、处理流程二、流程图三、额外扩展(可不看)一、处理流程 Tomcat接收到一个请求后,会交给DispatcherServlet进行处理DispatcherServlet会根据请求的path找到对应的HandlerHandler就是一个加了@RequestMapping的方法,然后就利用反射…...
低成本高收益,五金店小程序的秘密武器
如今,随着移动互联网的快速发展,小程序成为了许多企业进行线上业务拓展的重要方式之一。对于那些不懂代码的人来说,制作一个小程序可能会让人觉得困难重重。但是,现在,借助乔拓云平台,不懂代码的人也能轻松…...
C语言宏定义详解
文章目录 宏定义无参宏定义带参宏定义固定参数宏可变参数宏 多语句宏处理连接符条件判断常见预定义宏 宏在C语言中是一段有名称的代码片段(使用#define定义),在预处理阶段会把程序中的宏名替换为对应的代码片段,然后才进入编译阶段…...
SwiftUI 动画进阶:实现行星绕圆周轨道运动
0. 概览 SwiftUI 动画对于优秀 App 可以说是布帛菽粟。利用美妙的动画我们不仅可以活跃界面元素,更可以单独打造出一整套生动有机的世界,激活无限可能。 如上图所示,我们用动画粗略实现了一个小太阳系:8大行星围绕太阳旋转,而卫星们围绕各个行星旋转。 在本篇博文中,您将…...
物理试题-空气净化器
详细解释...
Es、kibana安装教程-ES(二)
上篇文章介绍了ES负责数据存储,计算和搜索,他与传统数据库不同,是基于倒排索引来解决问题的。Kibana是es可视化工具。 分布式搜索ElasticSearch-ES(一) 一、ElasticSearch安装 官网下载地址:https://www…...
leetcode 917.仅仅反转字母
⭐️ 题目描述 🌟 leetcode链接:仅仅反转字母 ps: 这道题思路很简单,只需要一个下标在前一个下标在后,分别找是字母的字符,找到之后交换即可。 代码: class Solution { public:bool isAlpha …...
有没有推荐的golang的练手项目?
前言 下面是github上的golang项目,适合练手,可以自己选择一些项目去练习,整理不易,希望能多多点赞收藏一下!废话少说,我们直接进入正题>>> 先推荐几个教程性质的项目(用于新手学习、巩…...
springBoot的日志文件
日志是程序的重要组成部分,主要可以用来定位和排查问题。除此之外,还可以用来: 1. 记录用户的登录日志,方便分析用户是正常登录还是恶意破解; 2. 记录系统的操作日志,方便数据恢复和定位操作人;…...
Linux学习之iptables的nat表
iptables -t nat 命令 规则链 规则是格式命令。 PREROUTING一般用于内网,用于目的地址转换。 POSTROUTING一般用于外网,用于源地址转换。 iptables -t nat -A PREROUTING -i eth0 -d 114.115.116.117 -p tcp --dport 80 -j DNAT --to-destination 10.0.0…...
【数据结构】 ArrayList简介与实战
文章目录 什么是ArrayListArrayList相关说明 ArrayList使用ArrayList的构造无参构造指定顺序表初始容量利用其他 Collection 构建 ArrayListArrayList常见操作获取list有效元素个数获取和设置index位置上的元素在list的index位置插入指定元素删除指定元素删除list中index位置上…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析
1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器(TI)推出的一款 汽车级同步降压转换器(DC-DC开关稳压器),属于高性能电源管理芯片。核心特性包括: 输入电压范围:2.95V–6V,输…...
