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();

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

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

相关文章

A Survey for In-context Learning

A Survey for In-context Learning 摘要&#xff1a; 随着大语言模型(LLMs)能力的增长&#xff0c;上下文学习(ICL)已经成为一个NLP新的范式&#xff0c;因为LLMs仅基于几个训练样本让内容本身增强。现在已经成为一个新的趋势去探索ICL来评价和extrapolate LLMs的能力。在这篇…

微服务06-分布式事务解决方案Seata

1、Seata 概述 Seata事务管理中有三个重要的角色: TC (Transaction Coordinator) - **事务协调者:**维护全局和分支事务的状态,协调全局事务提交或回滚。 TM (Transaction Manager) - **事务管理器:**定义全局事务的范围、开始全局事务、提交或回滚全局事务。 RM (Resourc…

Java地图专题课 基本API BMapGLLib 地图找房案例 MongoDB

本课程基于百度地图技术&#xff0c;由基础入门开始到应用实战&#xff0c;适合零基础入门学习。将企业项目中地图相关常见应用场景的落地实战&#xff0c;包括有地图找房、轻骑小程序、金运物流等。同时讲了基于Netty实现高性能的web服务&#xff0c;来处理高并发的问题。还讲…

JVM垃圾回收篇-垃圾回收算法

JVM垃圾回收篇-垃圾回收算法 标记清除&#xff08;Mark Sweep&#xff09; 概念 collector指的就是垃圾收集器。 mutator是指除了垃圾收集器之外的部分&#xff0c;比如说我们的应用程序本身。 mutator的职责一般是NEW(分配内存)、READ(从内存中读取内容)、WRITE(将内容写入内…

vscode搭建c语言环境问题

c语言环境搭建参考文章:【C语言初级阶段学习1】使用vscode运行C语言&#xff0c;vscode配置环境超详细过程&#xff08;包括安装vscode和MinGW-W64安装及后续配置使用的详细过程&#xff0c;vscode用户代码片段的使用&#xff09;[考研专用]_QAQshift的博客-CSDN博客 问题如下:…

[C++ 网络协议] 套接字和地址族、数据序列

目录 1. 套接字 1.1 在Linux平台下构建套接字 1.1.1 用于接听的套接字(服务器端套接字) 1.1.2 用于发送请求的套接字(客户端套接字) 1.2 在Windows平台下构建套接字 1.2.1 Winsock的初始化 1.2.2 用于接听的套接字(服务器端套接字) 1.2.3 用于发送请求的套接字(客户端套…

pytest框架快速进阶篇-pytest前置和pytest后置,skipif跳过用例

一、Pytest的前置和后置方法 1.Pytest可以集成unittest实现前置和后置 importunittestimportpytestclassTestCase(unittest.TestCase):defsetUp(self)->None:print(unittest每个用例前置)deftearDown(self)->None:print(unittest每个用例后置)classmethoddefsetUpClass…

jmeter中用户参数和用户定义的变量的区别

如果使用jmeter做过参数化的人都知道&#xff0c;参数化的方式有多种&#xff0c;其中一种就是使用用户定义的变量&#xff0c;还有一种是使用用户参数。那么&#xff0c;这两个有什么异同呢&#xff1f; 一、先说相同的点&#xff1a; 1、都可以参数化&#xff0c;以供sample…

allure测试报告

使用pytest结合Allure进行测试报告生成的简单教程 allure测试报告 Allure基于Java开发&#xff0c;因此我们需要提前安装Java 8或以上版本的环境。 ◆安装allure-pytest插件在DOS窗口输入命令“pip3 install allure-pytest”&#xff0c;然后按“Enter”键。 下载安装Allure…

使用 Docker 部署 canal 服务实现MySQL和ES实时同步

文章目录 0. 环境介绍0. 前置步骤1. 安装Kibana和Elasticsearch2. 安装Canal和Canal Adapter2.1 修改数据库配置2.1.1 修改配置2.1.2 验证mysql binlog配置2.1.3 查看日志文件2.1.4 用JDBC代码插入数据库 2.2 安装Canal Server2.3 安装Canal Adapter修改两处配置文件配置文件取…

初识mysql数据库之引入mysql客户端库

目录 一、下载第三方库 1. 准备工作 1. 使用mysql官网提供的库 2. yum源安装 二、测试第三方库是否可用 三、mysql常用接口介绍 1. 查看官方文档 2. 初始化 3. 关闭mysql 4. 连接mysql 5. 下达sql指令 四、一个简单的C客户端库连接mysql程序 1. 头文件 2. 初始化…

Could not resolve host: mirrorlist.centos.org; Unknown error解决方法

今天服务器安装完CentOS系统后&#xff0c;安装网络的时候&#xff0c;出现无法联网yum yum -y install net-tools 以上代码无法运行并报错&#xff0c;这里我要提醒大家&#xff0c;如果在初始安装的时候选中安装网络工具模块就不用在安装net-tools了&#xff0c;因为我选中…

vite跨域配置踩坑,postman链接后端接口正常,但是前端就是不能正常访问

问题一&#xff1a;怎么都链接不了后端地址 根据以下配置&#xff0c;发现怎么都链接不了后端地址&#xff0c;proxy对了呀。 仔细看&#xff0c;才发现host有问题 // 本地运行配置&#xff0c;及反向代理配置server: {host: 0,0,0,0,port: 80,// cors: true, // 默认启用并允…

爆肝整理,性能测试方法与关键指标以及瓶颈定位思路,一篇贯通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 性能测试方法 1、…

抓包工具Fiddler下载与安装

一、Fiddler介绍 1.Fiddler简介 Fiddler 是一款免费、灵活、操作简单、功能强大的 HTTP 代理工具&#xff0c;是目前最常用的 HTTP 抓包工具之一。可以抓取所有的 HTTP/HTTPS 包、过滤会话、分析请求详细内容、伪造客户端请求、篡改服务器响应、重定向、网络限速、断点调试等…

数据结构刷题训练:队列实现栈

目录 前言 1. 题目&#xff1a;使用队列实现栈 2. 思路 3. 分析 3.1 创建栈 3.2入栈 3.3 出栈 3.4 栈顶数据 3.5 判空和 “ 栈 ” 的销毁 4. 题解 总结 前言 我们已经学习了栈和队列&#xff0c;也都实现了它们各自的底层接口&#xff0c;那么接下我们就要开始栈和队列的专项刷…

go内存管理机制

golang内存管理基本是参考tcmalloc来进行的。go内存管理本质上是一个内存池&#xff0c;只不过内部做了很多优化&#xff1a;自动伸缩内存池大小&#xff0c;合理切割内存块。 基本概念&#xff1a; Page&#xff1a;页&#xff0c;一块 8 K大小的内存空间。Go向操作系统申请和…

2.Model、ModelMap和ModelAndView的使用详解

1.前言 最近SSM框架开发web项目&#xff0c;用得比较火热。spring-MVC肯定用过&#xff0c;在请求处理方法可出现和返回的参数类型中&#xff0c;最重要就是Model和ModelAndView了&#xff0c;对于MVC框架&#xff0c;控制器Controller执行业务逻辑&#xff0c;用于产生模型数据…

Spring Cloud构建微服务断路器介绍

什么是断路器 断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置&#xff0c;用于在电路上保护线路过载&#xff0c;当线路中有电器发生短路时&#xff0c;“断路器”能够及时的切断故障电路&#xff0c;防止发生过载、发热、甚至起火等严重后果…

【Redis】使用Docker镜像配置集群时的Operation timed out问题

不知道有没有小伙伴跟我一样是使用的Docker镜像进行Redis集群案例模拟的&#xff08;三台虚拟机确实带不动 &#xff09;&#xff0c;然后我遇到了一个问题&#xff1a;Could not connect to Redis at 172.17.0.2:6379: Operation timed out 172.17.0.2是我其中一个Redis实例的…