qt 容器组控件 Containers

本文详细介绍了Qt中的容器组控件,包括Group Box、Scroll Area、Tool Box、Tab Widget、Stacked Widget、Frame、Widget、MdiArea、Dock Widget和QAxWidget。Group Box用于分组控件,Scroll Area提供滚动功能,Tab Widget用于多标签展示,Stacked Widget实现内容堆叠,Frame作为装饰和组合其他控件的容器,Widget是基本的窗口部件,MdiArea支持MDI(多文档界面),Dock Widget则提供可停靠的窗口部件,QAxWidget能封装Flash的ActiveX控件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

qt 容器组控件 Containers

控件名:

  • Group Box:组合框,提供带有标题的组合框框架
  • Scroll Area:滚动区域
  • Tool Box:工具箱
  • Tab Widget:标签小部件
  • Stacked Widget:堆叠部件
  • Frame:框架
  • Widget:小部件
  • MdiArea:MDI区域
  • Dock Widget:停靠窗口部件。
  • QAxWidget:封装Flash的ActiveX控件。

常用部件应用举例:

1.Group Box:组合框,提供带有标题的组合框框架

Qt中的GroupBox是一种控件容器,用于将相关控件分组并对其进行标记。 GroupBox通常用于分组相关的选项或设置,并为用户提供更好的可视化组织。

GroupBox通常包含一个标题,该标题指示该组中包含的内容。此外,它还可以具有边框和背景颜色,以帮助区分不同的组。

作用:

它通常用于将相关控件分组,并提供注释或标签以帮助用户理解其含义和作用。 Group Box可用于创建复杂的窗体布局,其中包含多个控件和组件。例如,可以在Group Box中放置一组单选按钮或复选框,并将它们与其他控件一起组合在一起以实现特定的功能。在Qt中,Group Box通常用于将用户界面元素按照逻辑或功能分类并组织起来,从而使用户能够更轻松地使用应用程序。

常用方法:

1. setTitle(const QString& title):设置Group Box的标题。

2. setAlignment(Qt::Alignment alignment):设置Group Box中的控件对齐方式。

3. setCheckable(bool checkable):设置Group Box是否可以选择。

4. isChecked() const:返回Group Box是否被选中。

5. setFlat(bool flat):设置Group Box是否带有边框。

6. isFlat() const:返回Group Box是否带有边框。

7. setEnabled(bool enabled):设置Group Box是否可用。

8. isEnabled() const:返回Group Box是否可用。

9. setSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical):设置Group Box的大小策略。

10. setMinimumSize(int minw, int minh):设置Group Box的最小大小。

11. setMaximumSize(int maxw, int maxh) :设置Group Box的最大大小。

12. layout() const:返回Group Box的布局。

13. setLayout(QLayout* layout):设置Group Box的布局。

14. setStyleSheet(const QString& styleSheet):设置Group Box的样式表。

15. sizeHint() const:返回Group Box的建议大小。

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
//添加头文件
#include <QGroupBox> //组合框 头文件
#include <QRadioButton> //单选按钮头文件
#include <QPushButton> //命令按钮头文件
#include <QCheckBox> //复选框头文件
#include <QVBoxLayout> //可以在水平方向和垂直反方进行排列的控头文件,QHBoxlayout/QVBoxlayout(水平/垂直)
#include <QGridLayout> //网格布局头文件
#include <QMenu> //菜单头文件


Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //创建组合框1并实力化
    QGroupBox *gb1 = new QGroupBox("单选按钮组1");
    //创建单选按钮
    QRadioButton *rb1= new QRadioButton("唱");
    QRadioButton *rb2= new QRadioButton("跳");
    QRadioButton *rb3= new QRadioButton("rap");
    QRadioButton *rb4= new QRadioButton("篮球");
    //创建垂直排列控件
    QVBoxLayout *vbl1 = new QVBoxLayout;
    //将单选按钮进行添加到垂直排列控件中进行垂直排列
    vbl1->addWidget(rb1);
    vbl1->addWidget(rb2);
    vbl1->addWidget(rb3);
    vbl1->addWidget(rb4);
    //将被垂直排列的按钮放到组合框中
    gb1->setLayout(vbl1);

    //***********************************************************************
    //创建组合框2并实力化
    QGroupBox *gb2 = new QGroupBox("复选按钮组2");
    //创建复选按钮
    QCheckBox *cb1= new QCheckBox("唱");
    QCheckBox *cb2= new QCheckBox("跳");
    cb2->setTristate(true); //设置开启复选框的三种状态 不开启时 
### PyQt5Qt Designer 的控件功能说明 #### 1. 容器 (Containers) 控件的作用 容器控件在 PyQt5Qt Designer 中扮演着重要的角色,它们的主要作用是容纳和组织其他 QWidget 类型的控件。通过合理使用 Containers 控件,可以创建结构化、层次分明的用户界面[^1]。 常见的 Containers 控件包括 `QGroupBox`、`QScrollArea`、`QTabWidget` 等。这些控件不仅能够分组管理子控件,还能提供额外的功能支持,比如滚动条、标签页切换等。 --- #### 2. 基本控件的操作方法 在 Qt Designer 中操作控件时,通常会涉及以下几个方面: - **对象名称设置**: 每个控件都有一个默认的对象名(objectName),可以通过属性编辑器对其进行修改。例如,将按钮命名为 `confirmButton` 或者将用于显示图片的 Label 设置为 `labelImage`[^2]。 - **调整大小与布局**: 对于某些特定用途的控件,可能需要手动调整其尺寸以满足需求。例如,在设计中如果希望某个 Label 显示较大的图像,则需将其拖拽放大并适配内容。 --- #### 3. 示例代码展示如何加载由 Qt Designer 设计好的 UI 文件 假设已经完成了一个简单的窗口设计,其中包含两个 Labels 和一个 Button,并分别设置了对应的 objectNames (`confirmButton`, `labelImage`)。那么可以在 Python 脚本中这样加载该 UI 文件并与逻辑绑定: ```python from PyQt5 import QtWidgets, uic class MyWindow(QtWidgets.QMainWindow): def __init__(self): super().__init__() self.ui = uic.loadUi('my_design.ui', self) # 绑定 confirmButton 到槽函数 self.confirmButton.clicked.connect(self.on_button_click) def on_button_click(self): print("Confirm button clicked!") self.labelImage.setText("New Image Loaded") if __name__ == '__main__': app = QtWidgets.QApplication([]) window = MyWindow() window.show() app.exec_() ``` 上述代码片段展示了如何利用 `uic.loadUi()` 方法动态加载 `.ui` 文件以及连接信号到自定义处理程序上。 --- #### 4. 关键概念补充 除了基本控件外,还需要理解一些高级特性来充分利用 Qt Designer 提供的强大工具集: - **Layouts**: 自动排列控件的位置关系,减少手工微调的工作量; - **Promoted Widgets**: 将标准 widget 替换为定制版本以便扩展功能性; - **Property Editor**: 修改控件的各种参数配置项,如颜色、字体样式等等; 以上都是构建高质量 GUI 应用不可或缺的知识点。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值