qt QGroupBox详解

1、概述

QGroupBox是Qt框架中的一个容器控件,主要用于组织和管理一组相关的控件(如按钮、复选框、文本框等),并为这些控件提供一个框架和标题。通过使用QGroupBox,可以创建具有逻辑分组和视觉层次结构的用户界面,使得界面更加清晰和易于理解。在创建分组的控件或信息时,QGroupBox非常有用,比如在表单、设置面板中,用于将相关的选项或控件归纳在一起,提高用户体验。

2、重要方法
  • 构造函数:QGroupBox(QWidget *parent = nullptr)和QGroupBox(const QString &title, QWidget *parent = nullptr)。这两个构造函数分别用于创建无标题和有标题的分组框。
  • setTitle(const QString &title):设置分组框的标题。
  • setCheckable(bool checkable):设置分组框是否为复选框模式。当设置为可选中时,标题左侧会出现一个复选框,用户可以通过点击复选框来选择或取消选择整个分组。
  • setChecked(bool checked):在复选框模式下,设置分组框是否被选中。
  • setAlignment(Qt::Alignment alignment):设置分组框标题的对齐方式。
  • setFlat(bool flat):设置分组框是否为扁平化样式。当设置为扁平化时,QGroupBox的边框和标题样式可能会发生变化,具体效果取决于操作系统和Qt样式。

3、重要信号
  • toggled(bool checked):当QGroupBox的选中状态发生变化时(从选中到未选中,或从未选中到选中),会发出此信号。信号的参数checked表示新的选中状态。这个信号在复选框模式下有效。
  • clicked() 和 clicked(bool):点击QGroupBox控件时,会发射这些信号。
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QGroupBox>
#include <QLabel>
#include <QLineEdit>
#include <QCheckBox>int main(int argc, char *argv[])
{QApplication app(argc, argv);// 创建主窗口QWidget mainWindow;mainWindow.setWindowTitle("QGroupBox Example");mainWindow.resize(400, 300);// 创建 QVBoxLayout 布局管理器QVBoxLayout *mainLayout = new QVBoxLayout(&mainWindow);// 创建第一个分组框QGroupBox *groupBox1 = new QGroupBox("Personal Information", &mainWindow);QVBoxLayout *groupBox1Layout = new QVBoxLayout(groupBox1);QLabel *nameLabel = new QLabel("Name:", groupBox1);QLineEdit *nameLineEdit = new QLineEdit(groupBox1);QLabel *ageLabel = new QLabel("Age:", groupBox1);QLineEdit *ageLineEdit = new QLineEdit(groupBox1);groupBox1Layout->addWidget(nameLabel);groupBox1Layout->addWidget(nameLineEdit);groupBox1Layout->addWidget(ageLabel);groupBox1Layout->addWidget(ageLineEdit);// 创建第二个分组框,并设置为复选框模式QGroupBox *groupBox2 = new QGroupBox("Options", &mainWindow);groupBox2->setCheckable(true); // 设置为复选框模式groupBox2->setChecked(true); // 初始状态为选中QVBoxLayout *groupBox2Layout = new QVBoxLayout(groupBox2);QCheckBox *checkBox1 = new QCheckBox("Enable feature A", groupBox2);QCheckBox *checkBox2 = new QCheckBox("Enable feature B", groupBox2);groupBox2Layout->addWidget(checkBox1);groupBox2Layout->addWidget(checkBox2);// 将两个分组框添加到主布局mainLayout->addWidget(groupBox1);mainLayout->addWidget(groupBox2);// 显示主窗口mainWindow.show();return app.exec();
}

觉得有帮助的话,打赏一下呗。。

           

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/462899.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从 vue 源码看问题 — vue 初始化都做了什么事?

前言 最近想要对 Vue2 源码进行学习&#xff0c;主要目的就是为了后面在学习 Vue3 源码时&#xff0c;可以有一个更好的对比和理解&#xff0c;所以这个系列暂时不会涉及到 Vue3 的内容&#xff0c;但是 Vue3 的核心模块和 Vue2 是一致的&#xff0c;只是在实现上改变了方式、…

nginx系列--(一)--调试环境搭建

辅助脚本&#xff1a; #!/bin/bash mkdir -p $(pwd)/nginxhome # 生成 Makefile,--prefix need a absolute path --with-stream表示要包括stream模块 auto/configure --prefix$(pwd)/nginxhome --with-stream # lsof -i tcp:10086 && fuser -k 10086/tcp ||true # 定…

Qt/C++地图导航app/支持qml/手机运行/输入起点终点规划路径/模拟轨迹移动

一、前言说明 搞Qt地图开发这块&#xff0c;随着研究的深入&#xff0c;用户的需求变化&#xff0c;最近又需要在手机上运行&#xff0c;由于本地图组件依赖浏览器控件&#xff0c;而手机安卓上的Qt并没有带qwebengine控件&#xff0c;怎么办呢&#xff0c;不断的努力验证下&a…

使用VS Code 安装VUE.js开发环境的搭建并创建第一个项目

初步掌握VUE.js开发环境的搭建并创建第一个项目的操作方法和实验步骤 题目 安装Visual Studio Code。安装VS Code汉化插件。安装Vue官方支持插件。使用VS Code运行第一个HTML页面。安装Node.js并验证其版本。验证npm版本。配置npm的下载镜像源。配置Yarn的下载镜像源。使用Vi…

记本地第一次运行seatunnel示例项目

前置 静态源码编译通过&#xff1a;https://blog.csdn.net/u011924665/article/details/143372464 参考 seatunnel官方的开发环境搭建文档&#xff1a;https://seatunnel.incubator.apache.org/zh-CN/docs/2.3.5/contribution/setup 安装scala 下载scala 去官网下载&…

Maven下载安装配置(环境、本地仓库、阿里云、jdk、idea)(Win11)

目录 Maven3.9.9工具参考下载安装配置环境变量配置验证是否安装完成本地仓库位置存放配置阿里云镜像加速配置jdk版本 配置 idea Maven3.9.9 工具 系统&#xff1a;Windows 11 环境&#xff1a;JDK-8 软件&#xff1a;IDEA-2024.2.1 参考 本人写的《JDK安装与环境配置&#…

袁庭新陕西理工大学演讲——AIGC时代面临的机遇与挑战

大家好&#xff0c;我是袁庭新。分享一篇我在陕西理工大学给计算机专业、人工智能专业和网络工程专业的演讲内容。 各位计算机学院的小伙伴们&#xff0c;大家好啊&#xff01;欢迎各位来到今天的分享会&#xff0c;非常荣幸能在这里和大家相聚。今天在这里&#xff0c;我要与大…

以客户为导向在开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序内容创作中的实践与价值

摘要&#xff1a;本文深入探讨了在开源 AI 智能名片 2 1 链动模式 S2B2C 商城小程序相关内容创作中以客户为导向的方法和意义。阐述了如何在创作过程中通过与客户对话和转换客户视角来优化内容&#xff0c;以提升该小程序在市场中的竞争力和用户接受度。 一、引言 在数字化商…

QT——TCP网络调试助手

目录 一.项目展示 ​编辑 二.开发流程 三.QTcpServer、QTcpSocket、QUdpSocket类的学习 1.QTcpServer服务端 2.QTcpSocket客户端 3.Udp通信 四.网络调试助手 1.首先我们实现当用户选择不同协议类型时不同的UI组件如何切换 2.实现打开/关闭按键图片的切换 方式一&…

【CSS3】css开篇基础(5)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…

C++学习路线(数据库部分)二

类型 整形类型 整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两种数据类型。MySQL数据库除了支持这两种类型以外&#xff0c;还扩展支持了TINYINT、MEDIUMINT和BIGINT。下表从不同整数类型的字节数、取值范围等方面进行对比。 类型名称后面的小括号…

IDEA中通义灵码的使用技巧

大家好&#xff0c;我是 V 哥。在日常写代码的过程中&#xff0c;通过 AI 工具辅助开发已是当下程序员惯用的方式&#xff0c;V 哥在使用了众多的 AI 工具后&#xff0c;多数情况下&#xff0c;选择通义灵码来辅助开发&#xff0c;尤其是解释代码和生成单元测试功能甚是好用&am…

Docker篇(实际应用)

目录 一、MySQL 部署 1. 拉取 MySQL 镜像 2. 查看镜像 3. 创建 MySQL 容器 4. 进入 MySQL 容器,登陆 MySQL 5. 远程登陆 MySQL 6. 查看容器 IP 地址 二、tomcat 部署 1. 拉取 tomcat 镜像 2. 创建 tomcat 容器 3. 搭建 Tomcat 服务并部署 web 应用 三、Nginx 部署 …

Darknet 连接教程

本篇文章仅供学习&#xff0c;严禁用于非法用途。 1&#xff0c;前言&#xff1a; 首先明确一点&#xff0c;Darknet真没那么神奇&#xff0c;虽然有些技术文章的确很有水平&#xff0c;对于前端学习&#xff0c;软件开发以及PHP和一些服务器端维护都有许多文章&#xff0c;但…

江协科技STM32学习- P33 实验-软件I2C读写MPU6050

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

Hadoop生态圈框架部署(四)- Hadoop完全分布式部署

文章目录 前言一、Hadoop完全分布式部署&#xff08;手动部署&#xff09;1. 下载hadoop2. 上传安装包2. 解压hadoop安装包3. 配置hadoop配置文件3.1 虚拟机hadoop1修改hadoop配置文件3.1.1 修改 hadoop-env.sh 配置文件3.3.2 修改 core-site.xml 配置文件3.3.3 修改 hdfs-site…

立刻解决 gcc: error: unrecognized argument in option ‘-mabi=aapcs-linux’

unrecognized argument in option ‘-mabiaapcs-linux’ Linux 主线支持的硬件较少&#xff0c;一般是第三方开源&#xff08; Linaro/Yocto &#xff09;或者硬件厂商提供定制的嵌入式 Linux 如果确认主线支持自己的硬件&#xff0c;可以从 https://www.kernel.org/ 获取指定…

「Mac畅玩鸿蒙与硬件23」鸿蒙UI组件篇13 - 自定义组件的创建与使用

自定义组件可以帮助开发者实现复用性强、逻辑清晰的界面模块。通过自定义组件,鸿蒙应用能够提高代码的可维护性,并简化复杂布局的构建。本篇将介绍如何创建自定义组件,如何向组件传递数据,以及如何在不同页面间复用这些组件。 关键词 自定义组件复用组件属性传递组件通信组…

Windows版 nginx安装,启动,目录解析,常用命令

Windows版 nginx安装&#xff0c;启动&#xff0c;目录解析&#xff0c;常用命令 一级目录二级目录三级目录 1. 下载2. 启动方式一&#xff1a;方式二&#xff1a; 3. 验证是否启动4. 安装目录解析5. 常用命令 一级目录 二级目录 三级目录 1. 下载 官网下载&#xff1a;ngi…

Oracle视频基础1.3.7练习

1.3.7 看oracle是否启动构造一个pfile:boobooke.ora看spfilewilson内容修改alert log file里拷贝的参数内容&#xff0c;创建一个pfile boobooke.ora用新创建的pfile启动数据库&#xff0c;并创建新的spfile:spfilebbk.ora启动数据库&#xff0c;监听&#xff0c;看新的进程解…