当前位置: 首页 > article >正文

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

  • 公开视频 -> 链接点击跳转公开课程
  • 博客首页 -> ​​​链接点击跳转博客主页

目录

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);  
    }  
}


http://www.kler.cn/a/514008.html

相关文章:

  • [答疑]这个消息名是写发送数据还是接收数据
  • 什么是报文的大端和小端,有没有什么记忆口诀?
  • EAMM: 通过基于音频的情感感知运动模型实现的一次性情感对话人脸合成
  • 在 Kubernetes 上快速安装 KubeSphere v4.1.2
  • 如何使用CRM数据分析优化销售和客户关系?
  • 可以自己部署的微博 Mastodon
  • JJJ:arm64架构下的asid相关
  • ubuntu24.04安装mysql 5.7.44版本
  • 第35天:安全开发-JavaEE应用原生反序列化重写方法链条分析触发类类加载
  • Android 自定义 View _ 扭曲动效
  • 【WebGL】-02 绘制动态点
  • 【经验总结】ShardingSphere5.2.1 + Springboot 分库分表 快速开始
  • AI Video Composer:基于Qwen2.5-Coder的简易开源视频创作利器
  • 【SpringBoot深入浅出系列】SpringBoot之多线程
  • ElasticSearch DSL查询之排序和分页
  • AWTK-WEB 快速入门(3) - C 语言 Http 应用程序
  • Transformer的编码机制
  • 基于Python机器学习的双色球数据分析与预测
  • U-Net - U型网络:用于图像分割的卷积神经网络
  • linux环境变量配置文件区别 /etc/profile和~/.bash_profile
  • 高频次UDP 小包丢包分析
  • 项目集成ELK
  • 【腾讯云】docker创建网络遇到Unable to enable SKIP DNAT rule
  • wordpress付费查看隐藏内容插件的开发演示和记录
  • 【系统架构】如何设计一个秒杀系统?
  • Java学习,List截取