Qt Designer 控件箱中的控件介绍及布局比列分配

控件箱介绍

Qt Designer的控件箱(Widget Box)包含了各种常用的控件,用户可以通过拖放的方式将这些控件添加到窗体设计器中,用于构建用户界面。以下是一些常见控件箱中的控件及其功能的讲解:

1.基本控件

  • 标签(Label):用于显示文本或图像。
  • 按钮(Push Button):用于触发操作或事件。
  • 文本框(Line Edit):用于接受用户输入的单行文本。
  • 文本域(Text Edit):用于接受用户输入的多行文本。

2.容器控件

  • 布局(Layout):用于管理子控件的位置和大小。
  • 组(Group Box):用于将相关控件组合在一起,并提供可选的标题。
  • 栈(Stacked Widget):用于在同一个区域显示多个子窗口,只显示其中一个。

3.选择控件

  • 复选框(Check Box):用于用户勾选或取消选项。
  • 单选按钮(Radio Button):用于从多个互斥选项中选择一个。
  • 下拉框(Combo Box):用于选择一个选项或输入内容。

4.显示控件

  • 进度条(Progress Bar):用于显示操作进度。
  • 滑块(Slider):用于选择一个范围内的值。
  • 表格(Table View):用于显示表格数据。

5.图形控件

  • 画布(Canvas):用于绘制图形或图像。
  • 图表(Chart):用于显示图表数据。

6.其他控件

  • 菜单栏(Menu Bar):用于创建菜单。
  • 工具栏(Tool Bar):用于创建工具栏。
  • 状态栏(Status Bar):用于显示状态信息。

这些控件可以通过拖放的方式添加到窗体设计器中,并通过属性编辑器进行属性设置和布局调整。希望这些控件的介绍对您有帮助!如果有任何问题,请随时询问。

布局比例分配

问题?

复制代码
如果在Qt Designer 设计了两个垂直布局,现在需要将这两个布局合并成一个布局,要求左边的布局占布局的三分之二宽度,右边的布局占用总布局宽度的三分之一,该如何设计呢?

您可以通过在Qt Designer中使用水平布局和嵌套布局来实现左右布局比例的设置。以下是具体的步骤:

1.在Qt Designer中创建一个水平布局(QHBoxLayout)作为整体布局。

2.将两个垂直布局分别添加到水平布局中。

3.对左边的垂直布局设置一个占比为2的拉伸因子,对右边的垂直布局设置一个占比为1的拉伸因子。

这样设置后,左边的布局将占据总布局宽度的三分之二,右边的布局将占据总布局宽度的三分之一。在实际运行程序时,布局会根据窗口大小动态调整布局的宽度比例。

如果需要在代码中实现这个布局,可以在代码中使用布局管理器并设置相应的拉伸因子。以下是一个示例代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QVBoxLayout, QPushButton

app = QApplication(sys.argv)

# 创建主窗口
window = QWidget()
window.setWindowTitle('Resizable Layout Example')

# 创建水平布局
h_layout = QHBoxLayout()

# 创建左边垂直布局
left_layout = QVBoxLayout()
left_layout.addWidget(QPushButton('Button 1'))
left_layout.addWidget(QPushButton('Button 2'))

# 创建右边垂直布局
right_layout = QVBoxLayout()
right_layout.addWidget(QPushButton('Button 3'))

# 设置拉伸因子
h_layout.addLayout(left_layout, 2)
h_layout.addLayout(right_layout, 1)

# 将水平布局应用到主窗口
window.setLayout(h_layout)

window.show()
sys.exit(app.exec_())

通过以上代码,您可以在程序中实现左右布局按比例分配宽度的效果。您可以根据需要进一步调整布局和添加更多控件。希望这能帮助到您!如果还有其他问题,请随时提问。

相关推荐
徒步僧10 小时前
ThingsBoard规则链节点:RPC Call Reply节点详解
qt·microsoft·rpc
可峰科技11 小时前
斗破QT编程入门系列之一:认识Qt:初步使用(四星斗师)
开发语言·qt
我喜欢就喜欢11 小时前
基于qt vs下的视频播放
开发语言·qt·音视频
CP-DD12 小时前
Qt的架构设计
qt
阿_旭13 小时前
基于YOLO11/v10/v8/v5深度学习的维修工具检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·qt·ai
Bruce小鬼17 小时前
QT创建按钮篇
开发语言·qt
martian66518 小时前
QT开发:掌握现代UI动画技术:深入解析QML和Qt Quick中的动画效果
开发语言·c++·qt·ui
墨染新瑞20 小时前
两个有趣的小东西(qt和类型转换)
开发语言·网络·qt
Bruce小鬼21 小时前
解决MAC安装QT启动项目不显示窗口问题
开发语言·qt·macos
云雨歇1 天前
Qt学习笔记(三)网络编程
笔记·qt·学习