首页 > 系统相关 >Windows图形界面(GUI)-QT-C/C++ - Qt QGroupBox详解教程

Windows图形界面(GUI)-QT-C/C++ - Qt QGroupBox详解教程

时间:2025-01-19 12:57:38浏览次数:3  
标签:控件 QGroupBox Qt 启用 图形界面 标题 groupBox ui

目录

QGroupBox基础概念

QGroupBox简介

使用场景

QGroupBox常见样式

框架和标题

可启用/禁用

扁平化样式

QGroupBox属性设置

标题

​编辑

对齐方式

启用状态

​编辑

扁平化样式

QGroupBox的内容操作

设置和获取标题

设置和获取标题对齐方式

启用和禁用控件

设置和检查扁平化样式

QGroupBox常见示例

启用和禁用整个组框

同步启用和禁用多个组框


QGroupBox基础概念

QGroupBox简介

QGroupBox 是 Qt 框架中一个重要的容器控件,用于将一组控件按照逻辑分组。

通过这种分组方式,用户可以更清晰地理解界面布局,还可以统一管理组内控件的启用或禁用状态。

使用场景

  1. 逻辑分组:将相关的控件分组展示,便于用户直观理解界面布局。例如,将用户信息输入控件分组成“账户信息”和“联系信息”。
  2. 提供功能说明:通过显示标题来描述组内控件的用途。例如,“登录设置”、“高级选项”等。
  3. 统一控制启用/禁用:可以通过启用或禁用 QGroupBox 控制组内所有控件的可用状态,简化逻辑。

QGroupBox常见样式

框架和标题

  • QGroupBox 提供一个框架,用于包含其他控件。
  • 组框架上会显示一个标题,标题描述组内控件的功能或用途。
  • 标题可以左对齐、居中或右对齐。

可启用/禁用

  • 可以对整个 QGroupBox 及其子控件进行启用或禁用操作。
  • 当 QGroupBox 被禁用时,组内所有控件都不可用。

扁平化样式

  • 如果设置为扁平化样式,QGroupBox 的边框将会隐藏,仅显示其中包含的控件和标题。

QGroupBox属性设置

标题

Title(标题):设置 QGroupBox 的标题文本。

ui->groupBox->setTitle("Account Information");  

对齐方式

设置标题文本的对齐方式,可以为左对齐、居中或右对齐。

    ui->groupBox->setAlignment(Qt::AlignLeft);   // 左对齐
    ui->groupBox->setAlignment(Qt::AlignCenter); // 居中
    ui->groupBox->setAlignment(Qt::AlignRight);  // 右对齐

启用状态

设置 QGroupBox 及其包含的控件是否启用:

ui->groupBox->setEnabled(false); // 禁用  
ui->groupBox->setEnabled(true);  // 启用

扁平化样式

设置 QGroupBox 是否显示为扁平化样式。扁平化样式不会显示边框:

ui->groupBox->setFlat(true);  // 扁平化  
ui->groupBox->setFlat(false); // 常规样式

QGroupBox的内容操作

设置和获取标题

ui->groupBox->setTitle("Settings");  // 设置标题为 "Settings"  
QString title = ui->groupBox->title(); // 获取标题内容

设置和获取标题对齐方式

ui->groupBox->setAlignment(Qt::AlignLeft); // 设置标题左对齐  
int alignment = ui->groupBox->alignment(); // 获取标题对齐方式

启用和禁用控件

ui->groupBox->setEnabled(false); // 禁用组框及其控件  
bool isEnabled = ui->groupBox->isEnabled(); // 检查是否启用

设置和检查扁平化样式

ui->groupBox->setFlat(true); // 设置组框为扁平化样式  
bool isFlat = ui->groupBox->isFlat(); // 检查是否为扁平化样式

QGroupBox常见示例

启用和禁用整个组框

void MainWindow::on_enableGroupBoxButton_clicked()  
{  
    // 启用第一个组框  
    ui->groupBox->setEnabled(true);  
}

同步启用和禁用多个组框

void MainWindow::on_toggleGroupBox_clicked()  
{  
    // 如果 groupBox 被选中,则启用 groupBox_2  
    bool isBoxChecked = ui->groupBox->isEnabled();  
    if (isBoxChecked) {  
        ui->groupBox_2->setEnabled(true);  
    } else {  
        ui->groupBox_2->setEnabled(false);  
    }  
}

标签:控件,QGroupBox,Qt,启用,图形界面,标题,groupBox,ui
From: https://blog.csdn.net/2301_80612536/article/details/145241428

相关文章

  • 【QT】: 初识 QWidget 控件 | QWidget 核心属性(API) | qrc 文件
    ......
  • 手把手教你完成YOLOv11 PySide6目标检测界面搭建,使用Qt6设计YOLOv11检测系统,实现图片
    摘要目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合YOLOv11与PySide6,构建了一个图形化界面,便于用户进行目标检测的操作和展示,实现对图片......
  • qt之读写二进制文件(序列化方式)
    除文本文件外,其他文件都可以看做是二进制文件,可以单独使用QFile读写二进制文件,但一般结合使用QFile和QDataStream读写二进制文件。头文件部分主要代码private:QStringm_filename;template<classT>voidwriteByStream(Tvalue);template<classT>voidread......
  • Qt以共享内存方式限制应用多开
    1.创建共享内存,如果键所标识的共享内存段已经存在,则不执行附加操作,并返回false。#include<QApplication>#include<QSharedMemory>#include<QMessageBox>intmain(intargc,char*argv[]){QApplicationa(argc,argv);//"AK"键staticQSharedMemory......
  • Qt+OpenCV实现图片压缩(JPEG、PNG)
    一、概述需求:1.编写一个小工具实现图片压缩2.图片仅支持JPEG和PNG格式3.目的是压缩图片在磁盘中所占用的大小4.使用的开发语言是Qt、C++、OpenCV5.压缩的质量可以动态调节如下图所示:ps:1.如果图片是jpeg......
  • qt switchbutton
    qt实现的SwitchButton,从网上抄的代码,然后进行一些修改完善,如下switchbutton.h点击查看代码#ifndefSWITCHBUTTON_H#defineSWITCHBUTTON_H#include<QObject>#include<QWidget>#include<QTimer>#include<QColor>#include<QDebug>#definemyDebugqDebu......
  • 【pyqt】pyqt写一个工具 实现base64编码,解码
    解决思路:使用QSS(QtStyleSheets)对PyQt控件的样式进行定制。为不同的控件添加不同的样式,如背景颜色、字体、边框等。修改后的代码:importsysimportbase64fromPyQt5.QtWidgetsimportQApplication,QWidget,QVBoxLayout,QHBoxLayout,QTextEdit,QPushButton,QLine......
  • 装机重启后无法进入图形界面
    装机重启后无法进入图形界面Aproblemhasoccurredandthesystemcan'trecover.Pleaselogoutandtryagain.主要原因可能是安装的软件包未更新,更新即可(yumupdate)报错截图首先进入命令行界面并登录root账户Ctrl+Alt+F2联网对于rocky系统,查看网络设备:nmcli-t......
  • qt通信:串口通信
    好久没有使用串口通信,所以有些数据老是忘记,所以找了个时间总结一下,下次可以直接复制,不用再写了。1.在工程文件.pro文件中加入QT+=serialport2.之后点击构建,执行一次qmake在窗口类的头文件中,加入串口通信用到的头文件#include<QtSer......
  • 高级QT Widgets图形绘制技巧
    高级QTWidgets图形绘制技巧补天云火鸟博客创作软件补天云网站1Qt_Widgets基础与图形系统1.1Qt_Widgets概述1.1.1Qt_Widgets概述Qt_Widgets概述QtWidgets概述引言在软件开发领域,Qt框架因其跨平台性、强大的图形界面设计能力以及丰富的类库支持而备受开发者青睐......