QT学习日记 | 按钮类控件

本文介绍了Qt中的QPushButton(普通按钮)、QRadioButton(单选按钮)和QCheckButton(复选按钮)的常用属性,如文本、图标、快捷键等,并通过实战案例展示了如何设置和使用这些控件。
摘要由CSDN通过智能技术生成

目录

前言

一、QPushButton

1、QPushButton常用属性

2、实战演练

二、QRadioButton

1、QRadioButton属性

2、实战演练

三、QCheckButton

1、QCheckButton属性

2、实战演练


前言

        本文主要介绍 Qt 中为我们提供的按钮控件,主要分为三种常见的按钮,QPushButton(普通按钮)、QRadioButton(单选按钮)、QCheckButton(复选按钮);

一、QPushButton

        在谈这个控件前,首先我们要弄成按钮类的继承关系;通常这些按钮类都继承一个抽象按钮类,而这个抽象按钮类继承自QWidget类;如下所示;

        因此,我们在使用某个具体的按钮控件时,该按钮控件会同时继承QWidget属性与QAbstractButton属性;

1、QPushButton常用属性

text:按钮中文本属性

icon:按钮中图标属性

iconSize:图标的大小属性

shortCut:按钮的快捷键属性

autoRepeat:按钮的连发属性(枪战游戏中通常长按鼠标左键表示连发)

autoRepeatDelay:重复触发连发的延时事件

autoRepeatInterval:重复触发的周期

上述接口均为获取接口,若想设置,接口前添加set为设置;

2、实战演练

        之前,我们做过一个小案例,页面中有五个按钮,其中另外四个控制目标按钮进行上下左右移动,这次我们对这个案例进行升级,我们为每个按钮设置一张图片,并且会给按钮设置快捷键与连发属性;(图片资源可以在阿里巴巴矢量图网找)

(1)在设计师页面绘出五个按钮

(2)创建qrc文件,导入图片资源

(3)给目标按钮导入图片并设置大小

(2)给四个控制按钮设置槽函数

(3)给四个控制按钮设置图片

(4)给按钮设置快捷键,up->w,down->s,left->a,right->d

(5)设置连发

        经过测试,我们发现通过快捷键控制默认是连发的,而通过鼠标点击控制,默认不是连发的,因此我们还想通过鼠标控制也可以达到连发的效果;

        至此,小案例完成,有兴趣的可以尝试照着敲试试;

二、QRadioButton

1、QRadioButton属性

checkable:是否能选中

checked:是否已经被选中

autoExclusive:是否排他,默认为true

        其中属性一与属性二看起来很相似,实际上,属性一表示这个按钮是否可以被选中,而属性二是获取当前按钮是否被选中;属性三中的排他为默认选项,比如一个选择性别的单选,选择了男就自动排除了女,这就是排他属性;

2、实战演练

案例一:我们想设计一个选择性别的单选选项,其中包括男、女和保密选项,选择后有一个提交按钮,提交后,会有一个Label标签显示选择性别;

(1)在设计师页面画出上述需求所需控件

(2)设置点击提交后的槽函数

案例二:我们想设计一个点餐案例,比如我们在吃塔斯汀时,通常会有一个套餐,而我们能从套餐中某些选项中选其中一项,这里就设计一个这样的案例;

(1)绘出如下设计师页面

        可是这时会出现一个问题;由于单选按钮具有排他性,我们下面九单选中,只能选择一个,而我们期望的是一类产品只能选一个,因此我们需要创建一个组,将相同类别的加入到一个组内,这样就可以实现上述想要的效果;

(2)将相同类别规制到同一组

(3)编写槽函数

三、QCheckButton

1、QCheckButton属性

        QCheckButton最重要的属性也是checkable与checked,这里就不做过多介绍;

2、实战演练

(1)绘制如下界面

(2)给提交按钮设置槽函数

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值