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_())

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

相关推荐
尘中远2 小时前
【Qwt 7.0 系列】坐标轴与刻度系统 —— 刻度引擎、网格、图例与刻度朝内
qt·数据可视化·qcustomplot·qwt·工业软件·科学绘图
sycmancia4 小时前
Qt——多线程间的互斥
开发语言·qt
尘中远9 小时前
【Qwt 7.0 系列】常用图表类型实战 —— 柱状图、散点图、箱线图与直方图
qt·qwt·工业软件·科学绘图
尘中远9 小时前
【Qwt 7.0 系列】交互功能详解 —— 平移、缩放、坐标轴交互与数据拾取
qt·数据可视化·绘图·qcustomplot·qwt·科学绘图
sycmancia10 小时前
Qt——进程与线程的概念
qt
郝学胜-神的一滴10 小时前
Qt 高级编程 034:深耕QWidget底层内核—彻底吃透无边框窗口设计核心原理
开发语言·c++·qt·程序人生·软件开发·用户界面
尘中远11 小时前
【Qwt 7.0 系列】3D 数据可视化 —— OpenGL 高性能三维绘图
qt·3d·qcustomplot·qwt·科学绘图·高性能绘图
满天星830357711 小时前
【Qt】控件(二) (geometry及与frameGeometry的区别)
开发语言·qt
大气的小蜜蜂11 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·qt·sqlite
尘中远12 小时前
【Qwt 7.0 系列】总体架构解析 —— 从单体到三库模块化的演进
qt·matplotlib·绘图·qwt·科学绘图