(2021-8-17) Qt5 中自带的几种button控件简介

2023-11-01

本节参考正点原子qt教程~

1.按钮简介

在Qt中最常用的控件应该就是按钮了,点击按钮,即可发送信号,触发响应事件,实现人机交互!
在Qt中内置了六中按钮控件。
在这里插入图片描述

1. QPushButton

QPushButton 继承 QAbstractButton 类,被 QCommandLinkButton 继承。通常用于执行命令或触发事件。

2. QToolButton

工具按钮(QToolButton)区别于普通按钮(QPushButton)的一点是,工具按钮(QToolButton)可以带图标。这里区别下图标和按钮的背景图片是不一样的。通常我们在 QToolBar 这种工具条(工具栏)上设置不同的按钮,如果这些按钮还带图标和文本,那么 QToolButton 是个不错的选择,类似这种:
在这里插入图片描述

3. QRadioButton

QRadioButton 部件提供了一个带有文本标签的单选框(单选按钮)。
QRadioButton 是一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选框通常呈现给用户一个“多选一”的选择。也就是说,在一组单选框中,一次只能选中一个单选框。默认在同一个父对象下,初始化后点击它们是互斥状态
在这里插入图片描述

4. QCheckBox

QCheckBox 继承 QAbstractButton。复选按钮(复选框)与 RadioButton 的区别是选择模式,单选按钮提供多选一,复选按钮提供多选多。
当按钮状态改变是会发送 stateChanged(int),其参数为当前控件的状态。

    enum CheckState {
        Unchecked,
        PartiallyChecked, //半选状态
        Checked
    };

在这里插入图片描述

connect(checkBox, SIGNAL(stateChanged(int)),this,SLOT(checkBoxStateChanged(int)));

/* 初始化三态复选框的状态为 Checked */
checkBox->setCheckState(Qt::Checked);
/* 开启三态模式,必须开启,否则只有两种状态,即 Checked 和 Unchecked */
checkBox->setTristate();

5. QCommandLinkButton

QCommandLinkButton 控件中文名是“命令链接按钮”。QCommandLinkButton 继承QPushButton。CommandLinkButton 控件和 RadioButton 相似,都是用于在互斥选项中择一项。表面上同平面按钮一样,但是 CommandLinkButton 除带有正常的 按钮上的文字描文本外,默认情况下, 它也将携带一个箭头图标,表明按下按钮将打开另一个窗口或页面。

6. QDialogButtonBox

对话框和消息框通常以符合该平台界面指导原则的布局呈现按钮。不同平台的对话框总是有不同的布局。QDialogButtonBox 允许开发人员向其添加按钮,并将自动使用适合用户桌面环境的布局。也就是说我们可以使用系统的自带的对话框按钮,也可以自己定义对话框按钮。

button_Box = new QDialogButtonBox(
QDialogButtonBox::Ok
| QDialogButtonBox::Cancel
| QDialogButtonBox::Open
| QDialogButtonBox::Save
| QDialogButtonBox::Close
| QDialogButtonBox::Discard
| QDialogButtonBox::Apply
| QDialogButtonBox::Reset
| QDialogButtonBox::RestoreDefaults
| QDialogButtonBox::Help
| QDialogButtonBox::SaveAll);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(2021-8-17) Qt5 中自带的几种button控件简介 的相关文章

  • cLion + Qt5 - 退出代码 -1073741515 (0xC0000135)

    我正在尝试使用 QT5 和 cLion 运行简单的测试 但我遇到了退出代码墙 这是我的环境 克狮2017 2minGw 5 0 cMake 3 8 2Qt 5 9 0 CMakeList txt cmake minimum required
  • 如何实现基于树的QComboBox

    我怎样才能实现QComboBox http qt project org doc qt 5 qcombobox html允许您从树结构中进行选择 类似于QTreeView http qt project org doc qt 5 qtree
  • 创建一个真正的无头 QApplication 实例

    我有一个 Qt 5 8 通过 PyQt5 应用程序 其许多测试需要实时QApplication实例以测试 gui 小部件交互 然而 在我的新 Mac OS X 10 11 6 机器上 运行这些测试时 窗口不断被创建和销毁 导致整个系统的 U
  • 错误:QOpenGLShader:无法创建着色器 - 使用 Qt5.2 Mingw OpenGL 编译 QtQuick 应用程序时

    我已经下载并安装了 Qt 5 2 mingw opengl 和 x86 版本 当我使用这个版本的 Qt 运行 Qt 项目时 没有问题 但是当我运行 Qt Quick 应用程序时 程序崩溃并在调试中记录以下消息 getProcAddress
  • 在 C++ main() 执行之前处理 Mac OS X 文件打开事件

    我用谷歌搜索了很多 但仍然找不到好的解决方案 因此 我将一个复杂的 Qt5 应用程序 某些网络服务的客户端 移植到 Mac OS X 10 7 0 Lion 及更高版本 我需要处理自定义文件 例如 xyz和自定义 URL 方案 例如xyz
  • Qt5 C++ 自动鼠标点击

    我正在尝试制作一个应用程序 其中鼠标移动到屏幕上的某些位置并自动单击左键 问题是我无法在 Qt 应用程序外部单击 因此我做了一个解决方法 使应用程序对鼠标单击透明并使用以下代码使其全屏显示 int x 800 int y 500 this
  • Qt5参考文档:qch文件

    我想在 QtAssistant 中查看 Qt 参考文档 但是 Qt5 的安装没有附带 Qt 库的 qch 文档文件 我试图在http qt project org http qt project org但到处都找不到它们 如何获取 Qt5
  • 如何使用 GoogleTest 框架漂亮地打印 QString?

    我将 GoogleTest GTest 框架与 Qt5 应用程序结合使用 每当使用 QString 参数的测试失败时 框架就会尝试打印所有涉及的值 但是 它无法自动处理外部类型 本例中为 Qt5 的 QString QString test
  • Qt:无法从输入设备读取:没有这样的设备

    我有一个在嵌入式 Linux 平台 i Mx 6 上运行的 Qt 应用程序 我的应用程序应支持触摸屏作为主要输入设备和可选的 USB 键盘 如果已连接 所以现在 我已配置要启动的应用程序 如下所示 my qt app plugin tsli
  • 如何正确配置QDockWidget使其显示/隐藏?

    我是 Qt GUI 的新手 最初想配置一个 Qt Dock 小部件 该小部件在按下某个键 假设为 A 时显示 并在按下另一个键 假设为 B 时隐藏 但经过一番研究 我没有找到任何相关的解决方案 我尝试创建一个切换按钮 第一次按下时将显示停靠
  • 如何更改菜单栏的字体颜色?

    如何更改 QML 菜单项的文本颜色MenuBar import QtQuick 2 4 import QtQuick Controls 1 3 import QtQuick Window 2 2 import QtQuick Dialogs
  • 没有安装 qmlviewer

    我已经安装了 Qt SDK 5 0 0 beta 2 和 Qt Creator 2 6 0 它检测到该包 但给出警告 未安装 qmlviewer 我找了一下 在SDK的bin文件夹下 我能做些什么 我使用 ubuntu 12 04 并将 S
  • 如何在 QtQuick Controls 2 中将对话框置于屏幕中央?

    我的所有对话框都出现在屏幕的左上角而不是中心 让对话框自动正确放置的最佳方法是什么 import QtQuick 2 7 import QtQuick Controls 2 2 ApplicationWindow id mainWindow
  • QVBoxLayout:如何使用 Qt 设计器将小部件对齐到顶部

    我仅将 qt 设计器用于 ui 布局 这与这个问题几乎是同一个问题 QVBoxLayout 如何将小部件垂直对齐到顶部而不是中心 https stackoverflow com questions 10082299 qvboxlayout
  • 无法在 Qt5 应用程序中加载 qca-ossl

    我决定将我的应用程序从 Qt4 迁移到 Qt5 在 Qt4 中 我将 QCA 与 QCA OSSL 一起使用 没有任何问题 但现在 OSSL 插件不想加载 我已经在 Qt5 下从 git anongit kde org qca git 编译
  • 如何在QML中设置弹出菜单位置

    我想修复 QML 中弹出菜单的位置 当我单击设置按钮时 我希望弹出菜单将显示在固定位置 我用了一天的时间就做到了 但是做不到 我怎样才能在 QML 中做到这一点 另外 我想更改菜单项的大小 宽度和高度 希望您的帮助 这取决于QtQuick
  • QComboBox 是否可以显示与其列表中不同的值?

    在 Linux 上使用 Qt 5 9 我有一个带有多个标签的 QComboBox qc new QComboBox qc gt addItem tr Red qc gt addItem tr Green qc gt addItem tr B
  • 设置 ItemIsMovable 标志时,子项在 QGraphicsView 中不可移动

    要调整项目中的项目QGraphicsView http qt project org doc qt 5 0 qtwidgets qgraphicsview html 我将表示顶点的子项放到要移动的项上 使用构造函数中建立的父子关系 就是下图
  • QGeoCoordinate:没有这样的文件或目录

    我正在尝试使用 QtLocation 但不能 我不明白为什么 我在 ubuntu 14 04 上使用 qt5 3 2 这很奇怪 因为我将这一行添加到我的 pro 文件中 QT network CONFIG mobility MOBILITY
  • Qt 5.4/Qml:防止绑定循环

    我有一个全局单例 设置 它保存应用程序设置 当我尝试运行以下代码时 我得到一个QML CheckBox Binding loop detected for property checked CheckBox checked Settings

随机推荐

  • shell脚本基础知识-shell中的特殊符号

    1 代表零个或多个字符或数字 test后面可以没有任何字符 也可以有多个字符 总之有或没有都能匹配出来 2 只代表一个任意的字符 不管是数字还是字母 只要是一个都能匹配出来 3 这个符号在linux中表示注释说明的意思 即 后面的内容lin
  • pip安装更换镜像

    原文链接 使用pip来安装python包有时候安装起来会非常慢 因此需要换成国内的源来加速下载 1 使用命令 以Torch为例 pip install i https pypi tuna tsinghua edu cn simple tor
  • DNS 解析顺序是怎样的?

    1 DNS 解析过程 当客户端对域名发起访问时 会将解析请求发送给递归解析服务器 递归服务器会代替客户端进行全球递归查询 首先递归服务器会请求根域名服务器 根域名服务器根据域名后缀 告知对应的顶级域名服务器 递归服务器再向顶级服务器发起请求
  • Silence - 专注于阅读的博客园主题

    最近花了点心思整理了下我的博客园主题代码 今天正式和大家分享一下 感兴趣的园友可以了解一下 主题介绍 Silence 追求大道至简的终极真理 旨在打造一个干净 专注阅读的博客主题 没有二维空间元素 不存在花里胡哨 简单概括其几个主要特点 专
  • Java面向对象编程

    在 OSI 分层模型中 把传输的比特流划分为帧 是哪一层的功能 A 物理层 B 网络层 C 数据链路层 D 传输层 答案 C 下面关于源端口地址和目标端口地址的描述中 正确的是 A 在TCP UDP传输段中 源端口地址和目的端口地址是不能相
  • Activity启动流程源码分析-浅析生命周期函数

    源码分析 接着上一篇 Activity启动流程源码分析 setContentView源码阅读 的讲解 本节介绍一下Activity的生命周期函数何时被调用 要看Activity的生命周期函数何时被调用 不得不翻阅 ActivityThrea
  • c++中string转UNIX时间戳

    最近的业务 需要用到string转UNIX时间戳 记录一下实现过程 c 代码如下 include
  • Pandas学习笔记

    Pandas学习笔记 1 Pandas介绍 1 1 认识Pandas 1 2 案例 2 Pandas 数据结构 2 1 Series 2 2 DataFram 3 Pandas的基本数据操作 3 1 索引操作 3 2 赋值 3 3 排序 4
  • 各种图论模型及其解答

    原文转自Jelline blog http blog chinaunix net uid 9112803 id 411340 html 本文用另一种思路重新组织 图论及其应用 相关知识 首先 用通俗化语言阐述了如何对事物间联系的问题进行图论
  • C++学习之空间配置器--------(二级空间配置器)

    二级空间配置器 出现的原因 二级空间配置器的原理 二级空间配置器的底层代码解析 出现的原因 原因 由于我们申请的空间有时会太小 而频繁的去申请这样的小空间就会造成太多小额区块造成的内存碎片 对于这些小额区块所带来的不仅仅是内存碎片 更是配置
  • python每日一练-合并两个有序的链表(超详细讲解)

    先来看题 首先对于链表我也是首次接触 所以自己取学习了一下关于链表的知识 首先我们先来看题目 因为本题目需要使用到递归的方法 所以我们首先先来介绍一下什么是递归 递归又是怎么用的 函数在运行时调用自己 这个函数就是递归函数 调用的过程就叫做
  • go之官方依赖管理工具dep安装和使用

    前言 大家都知道go没有一个自己的包管理平台 社区里go的第三方包托管在各个git托管平台 需要用到包时通过go get 命令工具安装 但这个工具没有版本描述性文件 在go的世界里没有 package json 这种文件 这个给我们带来直接
  • Conda executable is not found

    1 问题 当我安装PyTorch之后在pycharm中配置pytorch的时候出现了如图中的样子 2 解决方式 2 1点击文件夹图标 2 2 因为是Conda executable 所以我们要选择Conda exe不能选择Python解释器
  • 关于eclipse的项目前有感叹号和errors exist in required project相关问题

    一般来说 项目运行中 各个类的信息中并没有报错 但在运行中会出现errors exist in required project 且有时候运行也会成功 这种情况是由于项目中其他的类存在问题未解决 导致影响到项目整体运行 另一种情况是类并未有
  • 牛客网-做题笔记

    网易有道2017内推选择题 XML数据结构有且只有一个根节点 可以嵌套 XML解析分为三种 SAX解析 PULL解析和DOM解析 求循环队列元素个数 rear front Max Max 非循环队列 元素个数为 rear front 1 程
  • 微服务链路追踪zipkin

    微服务链路追踪sleuth zipkin 一 安装zipkin 二 sleuth概念解析 1 trace 2 span 3 annotation 4 采样率 三 zipkin流程图 1 zipkin流程图 2 追踪流程 四 注意事项以及配置
  • Log4J2在Web工程下日志无法写入文件的问题

    接触Log4J不久 之前在Java工程测试学习的 一切正常 前几天在做一个JSP的案子 Web工程下 同样的配置文件 却写不到文件 在控制台日志正常输出 Web工程下 在Java类main方法中测试 也可以正常写入文件 控制台也是正常 经过
  • 互动直播的技术细节和解决方案实践经验谈

    目录 1 互动直播背景 2 连麦流程 功能与技术指标 2 1 连麦的业务流程 2 2 互动直播的功能 2 3 技术指标 2 4 应用领域 3 主流的技术方案 3 1 互动直播技术领域 3 2 主流的技术方案 3 2 1 基于RTMP技术的连
  • 背调小计

    新员工入职前的背调 了解下 附上链接 https zhuanlan zhihu com p 33248594
  • (2021-8-17) Qt5 中自带的几种button控件简介

    本节参考正点原子qt教程 1 按钮简介 在Qt中最常用的控件应该就是按钮了 点击按钮 即可发送信号 触发响应事件 实现人机交互 在Qt中内置了六中按钮控件 1 QPushButton QPushButton 继承 QAbstractButt