自学内容网 自学内容网

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


原文地址:https://blog.csdn.net/2301_80612536/article/details/145241428

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!