按钮组
Qt提供了很多种类的按钮,它们都继承于QAbstractButton
按钮有三种常见状态,分别为: Normal, Hover, Pressed
Normal: 普通状态,没有和鼠标做任何接触
Hover: 悬停状态,鼠标位于按钮之上,但是并未按下
Pressed: 按压状态,鼠标键在按钮上处于按下状态
按钮有个check属性,我们设置按钮设置了 check 属性之后,情况就有所不同了, 在按钮上释放鼠标键, 按钮依然会处在 Pressed 状态,再次点击按钮,按钮才能恢复到 Normal 状态。具有 check 属性的按钮就相当于一个开关,每点击一次才能实现一次状态的切换。
QPushButton
QPushButton是 Qt 按钮中使用频率最高的一个,对这个类进行操作,大部分时候都需要使用它从父类继承过来的那些 API。
QPushButton有三种使用方式:
作为普通按钮, 可以显示文本信息和图标
设置check属性, 使其可以处于持续的被选中状态
关联一个菜单, 点击按钮菜单弹出
QToolButton
使用方法和功能跟 QPushButton 基本一致,对于关联菜单这个功能点上,QToolButton 类可以设置弹出的菜单的属性,以及在显示图标的时候可以设置更多的样式,对这个类进行操作,大部分时候都需要使用它从父类继承过来的那些 API。
QToolButton 有三种使用方式:
作为普通按钮, 可以显示文本信息和图标
按钮的图标可以使用不同的方式设置, 并且制定图标和文本信息的显示模式
设置check属性, 使其可以处于持续的被选中状态
关联一个菜单, 点击按钮菜单弹出, 并且可以设置菜单的弹出方式
QRadioButton
单选按钮,一般都是以组的方式来使用 (多个按钮中同时只能选中其中一个)。操作这个按钮使用的大部分函数都是从父类继承过来的。在同一窗口中, Qt会认为所有的单选按钮都属于同一组, 如果需要多个单选按钮组, 应该将他们放到不同的子窗口中。
QCheckBox
复选框按钮,可以单独使用,也可以以组的方式使用 (同一组可以同时选中多个),当复选按钮被选中, 再次点击之后可以取消选中状态, 这一点和单选按钮是不同的。操作这个按钮使用的大部分函数都是从父类继承过来的。
QCheckBox有三种状态:选中和未选中状态,半选中状态。
Qt::Unchecked:当前复选框没有被选中
Qt::PartiallyChecked:当前复选框处于半选中状态, 部分被选中(三态复选框)
Qt::Checked:当前复选框处于选中状态
半选中状态一般需要当前复选框按钮下还有子节点,类似一树状结构。
容器组
这里只介绍几个
QFrame
QFrame 是一个升级版的 QWidget, 继承了 QWidget 的属性,做了拓展,这种类型的容器窗口可以提供边框,并且可以设置边框的样式、宽度以及边框的阴影。
QGroup Box
在这种类型的窗口中可以绘制边框、给窗口指定标题,并且还支持显示复选框。
Scroll Area
QScrollArea 里边可以放置一些窗口控件,当放置的窗口控件大于当前区域导致无法全部显示的时候, 滚动区域容器会自动添加相应的滚动条(水平方向或者垂直方向), 保证放置到该区域中的所有窗口内容都可以正常显示出来。
Tool Box
工具箱控件,可以存储多个子窗口,该控件可以实现类似 QQ 的抽屉效果,每一个抽屉都可以设置图标和标题,并且对应一个子窗口,通过抽屉按钮就可以实现各个子窗口显示的切换。
Tab Widget
QTabWidget 是一种带标签页的窗口,在这种类型的窗口中可以存储多个子窗口,每个子窗口的显示可以通过对应的标签进行切换。文章来源:https://www.toymoban.com/news/detail-672714.html
Stacked Widget
QStackedWidget 栈类型窗口,在这种类型的窗口中可以存储多个子窗口,但是只有其中某一个可以被显示出来,至于是哪个子窗口被显示,需要在程序中进行控制,在这种类型的窗口中没有直接切换子窗口的按钮或者标签。文章来源地址https://www.toymoban.com/news/detail-672714.html
到了这里,关于Qt知识笔记(七)—— 控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!