【Qt】各种常用的按钮(button)

news/2025/1/31 21:26:01 标签: qt, 开发语言

        按钮是界面上经常使用的组件,常用的4种按钮组件是普通按钮(QPushButton类)、工具按钮(QToolButton 类)、单选按钮(QRadioButton类)、复选框(QCheckBox类),它们都有共同的父类QAbstractButton(见图4-2),所以它们有一些共有的特性。

Qt 中常用的按钮(button)包括以下几种:

  1. 普通按钮(QPushButton):用于点击触发操作,继承自 QAbstractButton。其相关属性包括文本(text)、图标(icon)、图标尺寸(iconSize)、快捷键(shortCut)、自动重复触发设置(autoRepeat)、重复触发的延时时间(autoRepeatDelay)、重复触发的周期(autoRepeatInterval)。
  2. 工具按钮(QToolButton):用于显示图片,若想显示文字,可修改风格为 toolButtonStyle,凸起风格为 autoRaise。
  3. 单选按钮(QRadioButton):用于点击选中操作(圆形),可设置默认选中状态,如 ui->rBtnMan->setChecked(true)。
  4. 复选框(QCheckBox):增加的 tristate 属性,表示是否有三种复选状态,即 Checked、Unchecked 和 PartiallyChecked。可以用 QAbstractButton 定义的函数 isChecked()和 setChecked()读取和设置复选状态,也可以用 QCheckBox 中定义的 checkState()和 setCheckState()读取和设置复选状态。当复选框的 tristate 属性设置为 false,也就是只有两种状态时,stateChanged()信号和 toggled()信号作用一样。此外,获取复选框的状态可以通过 connect(ui->checkBox, &QCheckBox::stateChanged, [](int state){ qDebug() << "state is " << state;});来实现,对应设置这个属性才能出现半选、选中、没选三种状态,分别用 0、1、2 表示,否则只有 0、2 两种状态。

一、按钮类接口详解

1、按钮的属性

        1. text:按钮的文本内容。可以使用setText()方法来设置按钮的文本。

        2. icon:按钮的图标。可以使用setIcon()方法将一个图标文件设置为按钮的图标。

        3. enabled:按钮的启用状态。默认情况下,按钮是启用的,即可以进行交互操作。可以使用setEnabled()方法来设置按钮的启用状态,可以用isEnabled()方法来获取当前按钮的启用状态。

        4. checkable:按钮的可选状态。当一个按钮是可选的时候,点击按钮就会切换选中和非选中两种状态。可以使用setCheckable()方法将一个按钮设置为可选的。

        5. checked:按钮的选中状态。当一个按钮是可选的时,可以使用setChecked()方法设置按钮的选中状态,可以使用isChecked()方法来获取当前按钮的选中状态。

        6. autoDefault:按钮的自动默认按钮状态。当某一个按钮设置为自动默认按钮时,按下Enter键就会触发该按钮的点击事件。可以使用setAutoDefault()方法来设置按钮的自动默认按钮状态。

        7. flat:按钮的平面化状态。当一个按钮设置为平面化状态时,按钮的外观将没有3D效果。可以使用setFlat()方法将一个按钮设置为平面化状态。

        8. styleSheet:按钮的样式表。可以使用CSS样式来自定义按钮的外观。可以使用setStyleSheet()方法来设置按钮的样式表。

2、按钮的信号

        1. clicked():当按钮被点击时发出的信号。连接到该信号的槽函数将在按钮被点击时被调用。

        2. pressed():当按钮被按下时发出的信号。连接到该信号的槽函数将在按钮被按下时被调用。

        3. released():当按钮被释放时发出的信号。连接到该信号的槽函数将在按钮被释放时被调用。

        4. toggled(bool checked):当按钮的选中状态发生改变时发出的信号。参数checked表示按钮的当前选中状态。连接到该信号的槽函数将在按钮的选中状态发生改变时被调用。        

二、QPushbutton类

QPushButton *button = new QPushButton(this);

QPushButton类是Qt中常用的按钮类,用于创建各种类型的按钮。QPushButton类继承自QAbstractButton类,并添加了一些功能和属性,使它成为一个完整的按钮。

下面是QPushButton类的一些常用的属性和功能:

  1. text:按钮上显示的文本。可以通过setText()方法设置文本,通过text()方法获取当前文本。

  2. icon:按钮上显示的图标。可以通过setIcon()方法设置图标,通过icon()方法获取当前图标。

  3. sizePolicy:按钮的尺寸策略。可以通过setSizePolicy()方法设置尺寸策略,通过sizePolicy()方法获取当前尺寸策略。

  4. tooltip:鼠标悬停在按钮上时显示的提示信息。可以通过setToolTip()方法设置提示信息,通过toolTip()方法获取当前提示信息。

  5. flat:指示按钮是否是扁平按钮。扁平按钮没有边框和背景色,默认为false。可以通过setFlat()方法设置是否为扁平按钮,通过isFlat()方法获取当前设置。

  6. checkable:指示按钮是否是可选按钮。可选按钮有两种状态:选中和未选中,默认为false。可以通过setCheckable()方法设置是否为可选按钮,通过isChecked()方法获取当前选中状态。

  7. autoDefault:指示按钮是否自动设置为默认按钮。默认按钮在对话框中可以通过回车键触发,默认为false。可以通过setAutoDefault()方法设置是否为默认按钮,通过autoDefault()方法获取当前设置。

  8. clicked()信号:当按钮被点击时发出的信号。可以连接到该信号的槽函数来响应按钮的点击事件。

  9. pressed()和released()信号:当按钮被按下和释放时发出的信号。可以连接到这两个信号的槽函数来响应按钮按下和释放事件。

三、QToolButton类

QToolButton *button = new QToolButton(this);

QToolButton类是Qt中的工具按钮类,它继承自QPushButton类,但提供了一些额外的功能和属性,使其适用于更多的应用场景。

下面是QToolButton类的一些常用属性和功能:

        1. text:按钮上显示的文本。可以通过setText()方法设置文本,通过text()方法获取当前文本。

        2. icon:按钮上显示的图标。可以通过setIcon()方法设置图标,通过icon()方法获取当前图标。

        3. popupMode:弹出菜单的模式。可以通过setPopupMode()方法设置弹出菜单的模式,常见的模式有菜单按钮模式(MenuButtonPopup)和延迟弹出模式(DelayedPopup)。菜单按钮模式在按钮上显示一个下拉箭头,并在点击按钮时弹出菜单;延迟弹出模式在鼠标悬停在按钮上一段时间后弹出菜单。

        4. menu:与按钮关联的菜单。可以通过setMenu()方法设置关联的菜单,通过menu()方法获取当前关联的菜单。

        5. autoRaise:指示按钮是否在鼠标悬停在按钮上时自动显示高亮效果。默认为false。可以通过setAutoRaise()方法设置是否自动显示高亮效果,通过autoRaise()方法获取当前设置。

        6. clicked()信号:当按钮被点击时发出的信号。可以连接到该信号的槽函数来响应按钮的点击事件。

        7. triggered(QAction *action)信号:当与按钮关联的菜单项被选中时发出的信号。可以连接到该信号的槽函数来响应菜单项的选中事件。

四、QRadioButton类

QRadioButton *button2 = new QRadioButton(this);

        QRadioButton类是Qt中的一个窗口部件类,用于创建单选按钮。单选按钮允许用户在一组选项中选择一个选项。只有当用户选择其中一个选项时,其他选项才会自动取消选中状态。QRadioButton类继承自QAbstractButton类。

        QRadioButton类提供了一些用于设置和获取单选按钮属性的方法,例如设置文本、设置图标、设置是否选中等。它还提供了一些信号和槽函数,用于处理单选按钮的状态变化。

五、QCheckBox类

QCheckBox *Box = new QCheckBox(this);

        QCheckBox类是Qt中的一个窗口部件类,用于创建复选框。复选框允许用户在一组选项中选择多个选项。用户可以通过点击复选框来选择或取消选择一个选项。QCheckBox类继承自QAbstractButton类。

        QCheckBox类提供了一些用于设置和获取复选框属性的方法,例如设置文本、设置图标、设置是否选中等。它还提供了一些信号和槽函数,用于处理复选框的状态变化。

六、Button类行为

1、setText();//设置按钮上显示的文本
2、setParent();//设置按钮显示在哪个窗口内
3、move();//设置按钮的位置
4、resize();//设置按钮的大小

 5、setStyleSheet()----设置按钮样式

button->setStyleSheet("QPushButton{font:30px;color:red}");//设置按钮样式

        background-color: 设置按钮的背景颜色。

        pressed-background-color: 设置按钮在按下状态时的背景颜色。

        hover-background-color: 设置鼠标悬停在按钮上时的背景颜色。

        color: 设置按钮的前景(文本)颜色。

        pressed-color: 设置按钮在按下状态时的前景颜色。

        hover-color: 设置鼠标悬停在按钮上时的前景颜色。

        border: 设置按钮的边框样式。

        border-radius: 设置按钮的边框圆角半径。

        border-color: 设置按钮的边框颜色。

        font: 设置按钮的字体样式。

        text-align: 设置按钮文本的对齐方式。

        icon: 设置按钮显示的图标。

        icon-size: 设置按钮图标的大小。

        min-width: 设置按钮的最小宽度。

        min-height: 设置按钮的最小高度。

        max-width: 设置按钮的最大宽度。

        max-height: 设置按钮的最大高度。

6、setEnabled();//设置按钮的状态
7、setGeometry();//设置按钮的位置和大小


http://www.niftyadmin.cn/n/5838876.html

相关文章

01-时间与管理

时间与效率 一丶番茄时钟步骤好处 二丶86400s的财富利用时间的方法每天坚持写下一天计划 自我管理体系计划-行动-评价-回顾 一丶番茄时钟 一个计时器 一份任务清单,任务 步骤 每一个25分钟是一个番茄时钟 将工作时间划分为若干个25分钟的工作单元期间只专注于当前任务,遇到…

MySQL(高级特性篇) 14 章——MySQL事务日志

事务有4种特性&#xff1a;原子性、一致性、隔离性和持久性 事务的隔离性由锁机制实现事务的原子性、一致性和持久性由事务的redo日志和undo日志来保证&#xff08;1&#xff09;REDO LOG称为重做日志&#xff0c;用来保证事务的持久性&#xff08;2&#xff09;UNDO LOG称为回…

Vue3的el-table-column下拉输入实时查询API数据选择的实现方法

由于本人对el-table-column有下拉输入选择的要求&#xff0c;根据网上搜索的资料及本人优化&#xff0c;推出我比较满意的方法&#xff0c;供各位读者参考使用。 效果图 el-table-column写法 <el-table-columnlabel"货品编号"align"center"prop"…

3.6 rbac类型的Authorization鉴权

本节重点总结 : rbac模型四种对象的关系 role&#xff0c;clusterrolerolebinding&#xff0c;clusterrolebinding role、clusterrole中的rules规则 资源对象非资源对象apiGroupsverb动作 rbac鉴权的代码逻辑 通过informer获取clusterRoleBindings列表&#xff0c;根据user匹配…

课题推荐:基于matlab,适用于自适应粒子滤波的应用

自适应粒子滤波&#xff08;Adaptive Particle Filter, APF&#xff09;是一种用于状态估计的有效方法&#xff0c;特别适用于非线性和非高斯系统。 文章目录 应用场景MATLAB 代码示例代码说明结果扩展说明 以下是一个基于自适应粒子滤波的简单应用示例&#xff0c;模拟一个一维…

5.3.2 软件设计原则

文章目录 抽象模块化信息隐蔽与独立性衡量 软件设计原则&#xff1a;抽象、模块化、信息隐蔽。 抽象 抽象是抽出事物本质的共同特性。过程抽象是指将一个明确定义功能的操作当作单个实体看待。数据抽象是对数据的类型、操作、取值范围进行定义&#xff0c;然后通过这些操作对数…

LabVIEW微位移平台位移控制系统

本文介绍了基于LabVIEW的微位移平台位移控制系统的研究。通过设计一个闭环控制系统&#xff0c;针对微位移平台的通信驱动问题进行了解决&#xff0c;并提出了一种LabVIEW的应用方案&#xff0c;用于监控和控制微位移平台的位移&#xff0c;从而提高系统的精度和稳定性。 项目背…

linux的/proc 和 /sys目录差异

/proc 和 /sys 都是Linux系统中用于提供系统信息和进行系统配置的虚拟文件系统&#xff0c;但它们的原理并不完全一样&#xff0c;以下是具体分析&#xff1a; 目的与功能 /proc &#xff1a;主要用于提供系统进程相关信息以及内核运行时的一些参数等&#xff0c;可让用户和程…