Qt开发⑥Qt常用控件_下_多元素控件+容器类控件+布局管理器

Qt——升级系列(Level Five):显示类控件、输入类控件、多元素控件、容器类控件、布局管理器 显示类控件:Label、LCD Number、ProgressBar、Calendar Widget,输入类控件:Line Edit、Text Edit、Combo Box、Spin Box、Date Edit & Time Edit、Dial、Slider,多元素控件:List Widget、Table Widget、Tree Widget,容器类控件:Group Box、Tab Widget,布局管理器:垂直布局、水平布局、网格布局、表单布局、Spacer。 阅读详情

目录

1. 多元素控件

1.1 ?Widget 和 ?View 之间的区别

1.2 List Widget 纵向列表

1.3 Table Widget 表格

1.4 Tree Widget 树形控件

2. 容器类控件

2.1 Group Box 分组框

2.2 Tab Widget 标签页控件

3. 布局管理器

3.1 垂直布局QVBoxLayout

3.2 水平布局QHBoxLayout

3.3 网格布局QGridLayout

3.4 表单布局QFormLayout

3.5 Spacer 空白

本篇完。


1. 多元素控件

Qt 中提供的多元素控件有:

  • QListWidget
  • QListView
  • QTableWidget
  • QTableView
  • QTreeWidget
  • QTreeView

1.1 ?Widget 和 ?View 之间的区别

以 QTableWidget 和 QTableView 为例。

  • QTableView 是基于 MVC 设计的控件。QTableView 自身不持有数据,使用 QTableView 的时候需要用户创建一个 Model 对象(比如 QStandardModel),并且把 Model 和 QTableView 关联起来。后续修改 Model 中的数据就会影响 QTableView 的显示,修改 QTableView 的显示也会影响到 Model 中的数据(双向绑定)。
  • QTableWidget 则是 QTableView 的子类,对 Model 进行了封装,不需要用户手动创建 Model 对象,直接就可以往 QTableWidget 中添加数据了。

1.2 List Widget 纵向列表

使用 QListWidget 能够显示一个纵向的列表。形如:

每个选项都可以被选中。

核心属性:

核心方法:

核心信号:

在上述介绍中涉及到⼀个关键的类:QListWidgetItem,这个类表示 QListWidget 中的一个元素。

核心方法如下,本质上就是⼀个 “文本+图标” 构成的。


使用 ListWidget,案例演示:

(1)在界面上创建一个 ListView,右键 => 变形为 => ListWidget,再创建一个 lineEdit 和两个按钮。

注意:ListWidget 是 ListView 的子类,功能比 ListView 更丰富。我们使用 ListWidget 即可。


(2)编写 widget.cpp,在构造函数中添加初始元素

或者直接在图形化界面选择 “编辑项目”:


(3)编写 listWidget 的 slot 函数

此处需要判定 current 和 previous 非空,初始情况下是没有元素选中的,就导致这两个指针可能是 NULL。

这⾥需要给 widget.h 前⾯加上 #include <QListWidgetItem>。


(4)编写按钮的 slot 函数


(5)执行程序

可以新增元素,选中元素,删除元素


1.3 Table Widget 表格

        使用 QTableWidget 表示一个表格控件。一个表格中包含若干行,每一行又包含若干列。表格中的每个单元格,是一个 QTableWidgetItem 对象。

QTableWidgetItem 核心信号:

QTableWidgetItem 核心方法:


使用 QTableWidget,案例演示:

(1)在界面上创建 QTableWidget 和 三个按钮,一个输入框

        注意:QTableWidget 是 QTableView 的子类,功能比 QTableView 更丰富。我们使用 QTableWidget 即可。


(2)编写 widget.cpp 构造函数,构造表格中的初始数据


(3)编写按钮的 slot 函数


(4)执行程序,即可完成表格的基本操作

        默认情况下,单元格中的内容直接就是可编辑的。如果不想让用户编辑,可以设置 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);


1.4 Tree Widget 树形控件

        使用 QTreeWidget 表示一个树形控件,里面的每个元素都是一个 QTreeWidgetItem,每个 QTreeWidgetItem 可以包含多个文本和图标,每个文本 / 图标为一个列。

        可以给 QTreeWidget 设置顶层节点(顶层节点可以有多个),然后再给顶层节点添加子节点,从而构成树形结构。

QTreeWidget 核心方法:

QTreeWidget 核心信号:

QTreeWidgetItem 核心属性:

QTreeWidgetItem 核心方法:


使用 QTreeWidget,案例演示:

(1)在界面上创建一个 TreeView,右键 => 变形为 => TreeWidget,再创建一个 lineEdit 和两个按钮。

注意:TreeWidget 是 TreeView 的子类,功能比 TreeView 更丰富。我们使用 TreeWidget 即可。


(2)编写代码,构造初始数据


(3)编写代码,实现按钮的 slot 函数


(4)执行程序,可以针对树形框进行编辑


2. 容器类控件

2.1 Group Box 分组框

        使用 QGroupBox 实现一个带有标题的分组框,可以把其他的控件放到里面作为一组,这样看起来能更好看一点。

        注意:不要把 QGroupBox 和 QButtonGroup 混淆(之前在介绍 QRadionButton 的时候提到了 QButtonGroup)。

核心属性:

        分组框只是一个用来 “美化界面” 这样的组件,并不涉及到用户交互和业务逻辑,属于 “锦上添花"。


给麦当劳案例加上分组框,案例演示:

在界面上创建三个分组框,并且在分组框内部创建下拉框和微调框

注意:在复制粘贴控件的时候,一定要先选中对应的父控件,再粘贴。


2.2 Tab Widget 标签页控件

        使用 QTabWidget 实现一个带有标签页的控件,可以往里面添加一些 widget,进一步的就可以通过标签页来切换。

核心属性:

核心信号:


使用标签页管理多组控件,案例演示:

(1)在界面上创建一个 QTabWidget 和两个按钮

注意 :

  • QTabWidget 中的每个标签页都是一个 QWidget
  • 点击标签页就可以直接切换
  • 右键 QTabWidget,可以添加标签页或者删除标签页

(2)编写 widget.cpp,进行初始化,给标签页中放个简单的 label

注意新创建的 label 的父元素,是 ui->tab 和 ui->tab_2。Qt 中使用父子关系决定该控件 “在哪里”。


(3)编写按钮的 slot 函数

  • 使用 count() 获取到标签页的个数
  • 使用 addTab 新增标签页
  • 使用 removeTab 删除标签页
  • 使用 currentIndex 获取到当前标签页的下标
  • 使用 setCurrentIndex 切换当前标签页


(4)编写 QTabWidget 的 currentChanged 函数


(5)运行程序

  • 点击新建标签页,可以创建出新的标签
  • 点击删除当前标签页,可以删除标签
  • 切换标签页时,可以看到 qDebug 打印出的标签页编号


3. 布局管理器

        之前使用 Qt 在界面上创建的控件都是通过 “绝对定位” 的方式来设定的,也就是每个控件所在的位置都需要计算坐标,最终通过 setGeometry 或者 move 方式摆放过去。

        这种设定方式其实并不方便,尤其是界面如果内容比较多,不好计算,而且一个窗口大小往往是可以调整的,按照绝对定位的方式,也无法自适应窗口大小。因此 Qt 引入 “布局管理器”(Layout)机制来解决上述问题。

当然,布局管理器并非 Qt 独有。其他的 GUI 开发框架,像 Android、前端等也有类似的机制。


3.1 垂直布局QVBoxLayout

使用 QVBoxLayout 表示垂直的布局管理器,V 是 vertical 的缩写。

核心属性:

Layout 只是用于界面布局,并没有提供信号。


使用 QVBoxLayout 管理多个控件,案例演示:

(1)编写代码,创建布局管理器和三个按钮,并且把按钮添加到布局管理器中

  • 使用 addWidget 把控件添加到布局管理器中
  • 使用 setLayout 设置该布局管理器到 widget 中


(2)运行程序

        可以看到此时界面上的按钮就存在于布局管理器中,随着窗口尺存变化而发生改变。此时的三个按钮的尺存和位置都是自动计算出来的。

        通过上述代码的方式,只能给这个 widget 设定一个布局管理器。实际上也可以通过 Qt Design 在一个窗口中创建多个布局管理器。


创建两个 QVBoxLayout,案例演示:

(1)在界面上创建两个 QVBoxLayout,每个 QVBoxLayout 各放三个按钮


(2)运行程序

可以看到这些按钮已经自动排列好,只不过当前这些按钮的位置不能随着窗口大小自动变化。

        通过 Qt Designer 创建的布局管理,其实是先创建了一个 widget,设置过 geometry 属性的,再把这个 layout 设置到这个 widget 中。

        实际上,一个 widget 只能包含一个 layout。打开 ui 文件的原始 xml,可以看到其中的端倪。这种情况下 layout 并非是窗口 widget 的布局管理器,因此不会随着窗口大小改变。


3.2 水平布局QHBoxLayout

使用 QHBoxLayout 表示垂直的布局管理器,H 是 horizontal 的缩写。

核心属性(和 QVBoxLayout 属性是一致的)


使用 QHBoxLayout 管理控件,案例演示:

(1)编写代码,创建布局管理器和三个按钮,并且把按钮添加到布局管理器中


(2)运行程序

        可以看到此时界面上的按钮就存在于布局管理器中,随着窗口尺寸变化而发生改变。此时的三个按钮的尺存和位置都是自动计算出来的。

Layout 里面可以再嵌套上其他的 layout,从而达到更复杂的布局效果。


嵌套的 layout,案例演示:

(1)在代码中创建以下内容

使用 addLayout 给 layout 中添加子 layout:


(2)执行程序

结合 QHBoxLayout 和 QVBoxLayout, 就可以做出各种复杂的界面了。


3.3 网格布局QGridLayout

Qt 中还提供了 QGridLayout 用来实现网格布局的效果,可以达到 M * N 的这种网格的效果。

核心属性:

        整体和 QVBoxLayout 以及 QHBoxLayout 相似,但是设置 spacing 的时候是按照垂直水平两个方向来设置的。


使用 QGridLayout 管理元素,案例演示:

(1)代码中创建 QGridLayout 和 4 个按钮

        使用 addWidget 添加控件到布局管理器中,但是添加的同时会指定两个坐标,表示放在第几行,第几列。

(2)执行代码

可以看到当前的这几个按钮是按照 2 行 2 列的方式排列的:


(3)如果调整行列坐标为下列代码

执行代码可以看到这几个按钮都在同一行了,相当于 QHBoxLayout:


如果调整行列坐标为下列代码

执行代码可以看到这几个按钮都在同一列了,相当于 QVBoxLayout:


任意调整行列,即可看到不同的效果


看下面代码:

        注意 :设置行和列的时候,如果设置的是一个很大的值,但是这个值和上一个值之间并没有其他的元素,那么并不会在中间腾出额外的空间。

        虽然把 button4 设置在第 100 行,但是由于 3-99 行没有元素,因此 button4 仍然会紧挨在 button3 下方看起来和上面的 0 1 2 3 的情况是相同的。


设置 QGridLayout 中元素的大小比例,案例演示:

(1)创建 6 个按钮,按照 2 行 3 列的方式排列

使用 setColumnStretch 设置每一列的拉伸系数:


(2)执行程序

可以看到每一列的宽度是不同的,并且随着窗口调整动态变化:

另外,QGridLayout 也提供了 setRowStretch 设置行之间的拉伸系数。

        上述案例中,直接设置 setRowStretch 效果不明显,因为每个按钮的高度是固定的。需要把按钮的垂直方向的 sizePolicy 属性设置为 QSizePolicy::Expanding 尽可能填充满布局管理器,才能看到效果。

如果拉伸系数设为 0,意思是不参与拉伸,此时按钮的宽度是固定值。


设置垂直方向的拉伸系数,案例演示:

(1)编写代码, 创建 6 个按钮, 按照 3 行 2 列方式排列.

使用  setSizePolicy 设置按钮的尺寸策略,可选的值如下:

  • QSizePolicy::Ignored:忽略控件的尺寸,不对布局产生影响。
  • QSizePolicy::Minimum:控件的最小尺寸为固定值,布局时不会超过该值。
  • QSizePolicy::Maximum:控件的最大尺寸为固定值,布局时不会小于该值。
  • QSizePolicy::Preferred:控件的理想尺寸为固定值,布局时会尽量接近该值。
  • QSizePolicy::Expanding:控件的尺寸可以根据空间调整,尽可能占据更多空间。
  • QSizePolicy::Shrinking:控件的尺寸可以根据空间调整,尽可能缩小以适应空间。


(2)执行代码

此时的按钮垂直方向都舒展开了,并且调整窗口尺寸,也会按照设定的比例同步变化。

        总的来说,使用 QGridLayout 能够代替很多 QHBoxLayout 和 QVBoxLayout 嵌套的场景。毕竟嵌套的代码写起来是比较麻烦的。另外不要忘了,QGridLayout 里面也能嵌套 QHBoxLayout 和 QVBoxLayout,QHBoxLayout 和 QVBoxLayout 里面也能嵌套 QGridLayout。灵活使用上述布局管理器就可以实现出任意的复杂界面。


3.4 表单布局QFormLayout

        除了上述的布局管理器之外,Qt 还提供了 QFormLayout,属于是 QGridLayout 的特殊情况,专门用于实现两列表单的布局。

这种表单布局多用于让用户填写信息的场景,左侧列为提示,右侧列为输入框。


使用 QFormLayout 创建表单,案例演示:

(1)编写代码,创建 QFormLayout,以及三个 label 和三个 lineEdit

  • 使用 addRow 方法来添加一行,每行包含两个控件。第一个控件固定是 QLabel / 文本,第二个控件则可以是任意控件。
  • 如果把第⼀个参数填写为 NULL,则什么都不显示。


(2)执行程序


3.5 Spacer 空白

使用布局管理器的时候,可能需要在控件之间添加一段空白,就可以使用 QSpacerItem 来表示。

核心属性:

上述属性在构造函数设置即可。


创建一组左右排列的按钮,案例演示:

(1)在界面上创建一个 QVBoxLayout ,并添加两个按钮


(2)直接运行程序,可以看到两个按钮是紧挨着的


(3)在两个按钮中间添加一个 spacer


(4)运行程序

        可以看到两个按钮之间已经存在了间隔了,调整 QSpacerItem 不同的尺寸,即可看到不同的间距:

在 Qt Designer 中,也可以直接给界面上添加 spacer:


本篇完。

下一篇是Qt窗口的学习。

QT之常用控件 目前我们了解了QT项目中大部分常用的控件,以及其属性、信号和方法,也算是正式入门Qt了。不过本文并没有将所有的方法都写出来,不过实际上都挺简单的,各位使用到不熟的控件可以自行搜索用法。 阅读详情

相关推荐

【QT】容器类控件

qt中常用容器类控件,Group Box分组框,Tab Widget实现标签页,布局管理器:垂直布局,水平布局,网格布局,表单布局的核心属性与使用示例,以及QSpacerItem的用处

lzb_kkk的博客 1781

(5)Qt—ui常用类

QString 字符串类、容器类的顺序容器 QLis、关联容器 QMap、 跨平台数据类型、 QVariant 统一数据类型、QDate Time 日期时间类、QTimer 定时器类

Summer_taotao的博客 1154

QT 常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)

本文系统介绍了Qt框架中的控件体系及其核心功能。主要内容包括:1. 控件基础概念:从GUI发展历程到QWidget核心属性详解,涵盖enabled、geometry、windowTitle等关键属性;2. 常用控件分类解析:包括按钮类(PushButton、RadioButton等)、显示类(Label、ProgressBar等)、输入类(LineEdit、TextEdit等)以及多元素控件(ListWidget、TableWidget等);3. 高级功能:样式表设置、布局管理器(垂直/水平/网格/表单布局

puppy_1mo的博客 1140

QT-布局-容器-控件

【找方法/信号,会正确传参/新建/初始化对象】 【&】 用匿名对象传参 【*】用new返回指针传参 触发动作找信号,信号带参数,lamba保持参数一致 找到所在类的方法/信号,没有就往上找 容器布局 动起来 【找控件的信号】 【看函数的返回值】 connect(ui->pushButton,&QPushButton::clicked,[=](){ //获取用户户名 QString user= ui->lineEdit->text(

yhy_13s的博客 750

unet学习笔记(milesial/Pytorch-UNet)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 unet学习笔记(milesial/Pytorch-UNet)原理讲解unet_parts.py内容predict.py内容 所用到的代码Pytorch-UNet/predict.py at master · milesial/Pytorch-UNet ·GitHub 原理讲解 蓝/白色框表示 feature map; 蓝色箭头表示 3x3 卷积,用于特征提取; 灰色箭头表示skip-connection,用于特征融合; 红色箭头.

weixin_67138138的博客 2554

SAP SD销售订单抬头自定义字段增强:BADI_SLS_HEAD_SCR_CUS实战指南

SAP ERP系统中的销售订单管理是企业核心业务流程,经常需要扩展标准功能来满足个性化业务需求。在SAP SD模块中,销售订单抬头屏幕的增强是常见需求。通过BADI(Business Add-In)技术,可以在不修改标准代码的前提下,实现自定义字段的添加与数据处理。本文详细介绍了如何使用BADI_SLS_HEAD_SCR_CUS实现销售订单抬头自定义字段,包括函数组子屏幕设计、数据存储表构建以及BADI方法的具体实现。这种增强方式适用于VA01/VA02/VA03等事务,保证了系统升级的兼容性和维护的便捷性

weixin_29758911的博客 349

qt设计器中 使用grid layout绘制了三行五列 如何使一个按钮在第二行占用五列

将按钮拖放到第二行的某一列中(比如第二行第一列)。通过以上操作,按钮即可在第二行占据全部5列的宽度。在Qt设计器中,若要让某个控件(如按钮)在。的某一行中跨越多列,可以通过设置控件的。方法支持设置行、列、行跨度(若手动编写代码,网格布局的。

汤圆 757

CocosCreator视频播放黑屏?手把手教你封装VideoPlayer组件解决Web环境问题

本文针对Cocos Creator在Web环境下视频播放黑屏等常见问题,提供了一套工程化的VideoPlayer组件封装解决方案。文章深入剖析了浏览器自动播放策略、DOM样式隔离等核心挑战,并手把手教你实现一个健壮的管理器,涵盖兼容性处理、性能优化与内存管理,确保视频播放稳定流畅。

plum99的博客 600

【零基础学QT】【027】Qt常用控件和布局

Qt控件众多,还有很多第三方的控件,不需要全部掌握 只需了解一般控件和布局的调用方式,需要某个控件的时候再详细学习即可 控件类本质上也就是一组设置属性的API,死记硬背意义不大,理解即可 下面我们来列举一些常用控件和布局的使用方法 ???? QLabel:文本标签 //窗口 QMainWindow window; window.setGeometry(100, 100, 800...

天天向上 Up Up Up (*^▽^*) 1648

华为云CodeHub代码托管

什么是代码托管 代码托管(CodeHub)是面向软件开发者的基于Git的在线代码托管服务,是具备安全管控、成员/权限管理、分支保护/合并、在线编辑、统计服务等功能的云端代码仓库,旨在解决软件开发者在跨地域协同、多分支并发、代码版本管理、安全性等方面的问题。 代码托管具有以下特性 · 在线代码阅读、修改、提交,随时随地开发,不受地域限制。 · 在线分支管理,包含分支新建、切换、合并,实现多分支并行开发,效率高。 master分支:最为稳定,功能比较完整,随时可发布的代码。 develop分支:用于平时开

LUJINYUANA的博客 1万+

鲁棒优化入门(一)——工具箱Xprog和RSOME的安装与使用

Xprog是由新加坡国立大学的Peng Xiong于2016年发布的一款matlab工具箱,可以用于求解确定性优化、随机优化、鲁棒优化和分布式鲁棒优化问题。 还有一个针对鲁棒随机优化设计的matlab工具箱——RSOME(Robust Stochastic Optimization Made Easy),也可以用来解决一般的线性规划、随机规划、鲁棒优化和数据驱动的分布式鲁棒优化问题。...............

配电网和matlab的博客 1万+

QT专题:基础部件(按钮类,布局类,输出类,输入类,容器类)

讲解了QT的一些基础部件的基础应用

m0_70983574的博客 852

C++坦克大战源代码

【代码】C++坦克大战源代码。

强国豪,林中霖 2609

【QT】输入类控件、多元素控件、容器类控件和布局管理器

qt常用控件~

s_little_monster的博客 8431

复现论文《大规模风电场电磁暂态高效建模仿真方法》

本文提出了一种针对大规模风电场电磁暂态(EMT)仿真的高效建模方法。通过三种关键技术实现仿真加速:(1)永磁直驱风电机组一体化等效建模,采用节点导纳矩阵降维将25节点机组简化为4端子电路,仿真速度提升1-3个数量级;(2)基于戴维南/诺顿等效和OpenMP并行计算的风电场整体建模,通过串并联叠加实现节点收缩,30台机组仿真加速近万倍;(3)受控源映射解耦方法提高故障仿真灵活性。复现代码展示了核心算法实现,包括导纳矩阵Schur补降维、多进程并行计算框架以及受控源解耦方法。

huanghm88的专栏 279

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【QT】常用控件 【多元素类 | 容器类 | 布局类】

本文详细介绍了Qt框架中常用的多元素类控件(如QListWidget、QTableWidget、QTreeWidget)、容器类控件(如QGroupBox、QTabWidget)以及布局类控件(如QVBoxLayout、QHBoxLayout、QGridLayout、QFormLayout)。通过代码示例和图形化界面操作,展示了如何使用这些控件创建高度定制化的用户界面,并强调了布局管理器在界面设计中的重要性。

You build it, you run it 7953

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

[Qt] 多元素控件 | 容器类控件 | 布局管理器layout

详细介绍了Qt的多元素控件、容器类控件及布局管理器,学习如何使用ListWidget、TableWidget和TreeWidget高效组织数据。通过Group Box和Tab Widget优化界面结构,利用垂直、水平、网格和表单布局实现复杂UI设计,并掌握Spacer的使用技巧以完善界面排版。博文将结合实际案例,如麦当劳菜单分组,演示这些工具的应用

No Game No Life 2672

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Qt】常用控件

Widget是Qt中的核心概念,英文原义是"小部件",此处将其翻译为"控件"。控件是构成一个图形化界面的基本要素,如按钮、列表视图、树形视图、单行输入框、多行输入框、滚动条、下拉框等都可以称为"控件"Qt作为一个成熟的GUI开发框架,内置了大量的常用控件。Qt也提供了"自定义控件"的能力,可以在现有控件不能满足需求时,对现有控件做出扩展,或者自定义出新的控件控件体系的发展完全没有控件。此时需要通过一些绘图API手动的绘制出按钮或者输入框等内容,代码编写繁琐。如文曲星的Lava平台开发。

GG_Bruse的博客 5543

QT | 常用控件

目录一、Qt 控件体系概述二、QWidget 核心属性详解2.1 属性概览2.2 重要属性案例分析qrc机制:三、各类控件深度解析与应用3.1 按钮类控件​编辑3.1.1 Push Button3.1.2 Radio Button3.1.3 Check Box3.1.4 Tool Button3.2 显示类控件3.2.1 Label3.2.2 LCD Number3.2.3 ProgressBar3.2.4 Calendar Widget3.3 输入类控件3.3.1 Line Edit3.3.2 Text

2302_78381559的博客 3617

《QT学习第三篇:多元素、容器类控件与布局管理器、QT窗口》

Qt框架中常用控件的使用方法,主要包括: 多元素控件:ListWidget纵向列表、TableWidget表格、QTreeWidget树形控件的创建与操作; 容器类控件:GroupBox分组框和TabWidget标签页的使用; 布局管理器:垂直/水平/网格布局、表单布局及空白间隔的设置; QT窗口组件:详细讲解了菜单栏、工具栏、状态栏、滑动窗口的创建方法; 对话框应用:包括代码/图形化创建方式、模态与非模态对话框,以及QMessageBox提示框、QColorDialog颜色框等派生对话框的使用

月亮永悬不落,剑指巅峰 1810

Qt-常用控件(3)-多元素控件、容器类控件和布局管理器

以 QTableWidget 和 QTableView 为例.

weixin_64423718的博客 1567

QT控件:【输入类控件】【多元素控件】【容器类控件】【布局管理器】

本身的滑动条就可以使用方向键或者page键。这里就自定义一个:简述一下:先创建两个快捷键cut和cut1代表“-”和“+”,然后需要设置信号的槽函数进行回调,里面槽函数的功能就是获取当前滑动条的值,判断是否越界,和重新设置滑动条的值。对于滑动条的槽函数的触发条件是滑动条的值改变(valueChanged),里面就是改变标签的内容。此时就可以使用加减号去调整了。

2301_81699364的博客 1359

QT:控件属性及常用控件(4)-----多元素控件、容器类控件、布局管理器

使⽤QTreeWidget 表⽰⼀个树形控件.⾥⾯的每个元素,都是⼀个QTreeWidgetItem ,每个QTreeWidgetItem 可以包含多个⽂本和图标,每个⽂本/图标为⼀个列.可以给QTreeWidget 设置顶层节点(顶层节点可以有多个),然后再给顶层节点添加⼦节点,从⽽构成树形结构.这种设定⽅式其实并不⽅便.尤其是界⾯如果内容⽐较多,不好计算.⽽且⼀个窗⼝⼤⼩往往是可以调整的,按照绝对定位的⽅式,也⽆法⾃适应窗⼝⼤⼩.因此Qt引⼊"布局管理器"(Layout)机制,来解决上述问题.

qq_57425280的博客 1797

【QT】常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)

QWidget 核心属性。

Elena's Blog 1万+

QT常用控件

对于QT窗口的开发,QT本身已经为我们内置了许多控件,我们直接就可以拿来用,不过我们需要对这些控件了解清除。Widget 是 Qt 中的核⼼概念. 英⽂原义是 "⼩部件", 我们此处也把它翻译为 "控件" . 控件是构成⼀个图形化界⾯的基本要素。按钮, 列表视图, 树形视图, 单⾏输⼊框, 多⾏输⼊框, 滚动条, 下拉框等, 都可以称为 "控件". Qt 作为⼀个成熟的 GUI 开发框架, 内置了⼤量的常⽤控件. 这⼀点在 Qt Designer 中就可以看到端倪。2.QWidget 核⼼属性。

qq_61422622的博客 2511
上一篇: Redis存储⑩Redis的事务_弱化的原子性
下一篇: Redis存储⑪主从复制_分布式系统解决单点问题
GR鲸鱼
GR鲸鱼 新星创作者: C/C++技术领域 新星创作者: C/C++技术领域
博客等级 码龄4年 6227粉丝 228原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GR鲸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值