自学内容网 自学内容网

【Qt】控件——Qt按钮类控件、常用的按钮类控件、按钮类控件的使用、Push Button、Radio Button、Check Box

Qt

在这里插入图片描述
  

3. Qt按钮类控件

Push Button

  使用 QPushButton 表示一个按钮。当点击按钮时可以触发各种事件。QPushButton 继承自 QAbstractButton。这个类是一个抽象类。是其他按钮的父类。

  PushButton和QAbstractButton的继承关系:在这里插入图片描述
  

  我们看到QAbstractButto 是继承于QWidget, 所以 QPushButton 的核心功能主要来自 QAbstractButton 。当然 QAbstractButton 的功能也都比较简单。

  因为 QAbstractButton 继承于 QWidget,QWidget 里的各种属性用法QAbstractButton,QAbstractButton也派生了很多新的用法:

属性说明
text按钮中的文本
icon按钮中的图标
iconSize按钮中图标的尺寸
shortCut按钮对应的快捷键
autoRepeat按钮是否会重复触发. 当鼠标左键按住不放时,如果设为true,则会持续产生鼠标点击事件;如果设为false,则必须释放鼠标,再次按下鼠标时才能产生点击事件. (相当于游戏手柄上的 “连发” 效果)
autoRepeatDelay重复触发的延时时间. 按住按钮多久之后,开始重复触发.
autoRepeatInterval重复触发的周期

  

  PushButton 又继承于 QAbstractButton,所以QAbstractButton 提供的功能 PushButton 也都可以使用。

  

  1. setIcon可以为我们的按钮设置图标。

在这里插入图片描述
  

  1. 上面按钮中的图标很小,我们可以使用setIconSize来设置按钮中图片的大小,参数为QSize(50,50),代表QIcon元素的长度和宽度。
    在这里插入图片描述
      

  2. 我们还可以移动这个按钮到合适的位置。

在这里插入图片描述

            

Radio Button

  QRadioButton 是单选按钮,可以让我们在多个选项中选择一个。作为 QAbstractButton 和 QWidget 的子类,上面介绍的属性和用法,对于 QRadioButton 同样适用。

属性说明
checkable是否能选中
checked是否已经被选中。checkable 是 checked 的前提条件。
autoExclusive是否排他。选中一个按钮之后是否会取消其他按钮的选中。对于 QRadioButton 来说默认就是排他的。

  

  1. Radio Button是单选按钮,在界面上如果有多个Radio Button,只能选中其中一个Radio Button,当然如果想要选择多个按钮,可以将按钮进行分组操作。

  2. 我们实现性别选择器,通过Radio Button进行选项的唯一选择,并且为它创建槽函数,每次切换性别时,界面都会在窗口和终端打印选择的结果。

在这里插入图片描述
  

  1. setChecked 设置 Radio Button 按钮的是否为默认选中。

在这里插入图片描述
  

  1. setEnabled 设置 Radio Button 按钮的禁用状态。被禁用的按钮无法被选中,也无法响应任何输入。

在这里插入图片描述

  

  click、press、release、toggled 的区别:

  ・clicked 表示一次 “点击”。

  ・pressed 表示鼠标 “按下”。

  ・released 表示鼠标 “释放”。

  ・toggled 表示按钮状态切换。

  

  我们可以引入 QButtonGroup 对按钮进行分组。QButtonGroup 是一个容器类,主要用于管理多个按钮的行为,尤其是单选按钮和复选按钮。

  

  1. 我们通过 QButtonGroup 实现一个点餐选择界面,先在可视化界面进行控件的创建并且移动到合适的位置。但是此时这六个 QRadioButton 之间都是排他的,我们希望每一组内部来控制排他,但是组和组之间不能排他。

在这里插入图片描述
  

  1. 创建三个 QButtonGroup,将对应的 RadioButton 设置到对应的 QButtonGroup 中,这样就可以完成我们想要实现的功能了。

在这里插入图片描述

            

Check Box

  QCheckBox 表示复选按钮,可以允许选中多个。

  和 QCheckBox 最相关的属性也是 checkable 和 checked,都是继承自 QAbstractButton。至于 QCheckBox 独有的属性 tristate 用来实现 “三态复选框”。

  

  1. Check Box 是复选框不会受其他 Check Box被选择的影响。

在这里插入图片描述
  

  1. isChecked()可以返回当前的 Check Box 是否处于被选中状态。

在这里插入图片描述

            
            


原文地址:https://blog.csdn.net/Crocodile1006/article/details/143082901

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!