Qtdesigner笔记


预计阅读时间:3 分钟

准备工作

pip install pyqt5
pip install PyQt5Designer
pip install PySide2

启动designer的方法:在终端直接输入designer

常见问题

1. 如何添加图片

添加label标签。找到pixmap属性值。点击选择文件

2. label标签图片等比缩放问题解决方案

勾选scaledContents选项。

3. 关于尺寸的属性值

策略值 行为 典型应用场景
Fixed 部件大小固定为 sizeHint(),不可调整。 需要严格固定大小的部件(如图标)。
Minimum 部件的最小尺寸是 sizeHint(),但可以扩展填满空间。 可扩展的按钮或文本框。
Maximum 部件的最大尺寸是 sizeHint(),但可以缩小。 可收缩的容器。
Preferred 尽量保持 sizeHint(),但可缩小或扩展(优先保持理想尺寸)。 标签、按钮等普通部件。
Expanding 主动扩展以填满所有可用空间,并可缩小。 需要占满剩余空间的部件(如画布)。
MinimumExpanding 最小尺寸是 sizeHint(),但会主动扩展填满空间。 可扩展但需保证最小尺寸的部件。

4.如何导出代码

窗体>Python代码>另存为

5.如何运行导出的代码

# 根据实际需要导入相应类,可能不能完全照搬
import sys

from PySide2.QtWidgets import QApplication, QMainWindow
from ui_mainWindow import Ui_MainWindow

if "__main__" == __name__:
    app = QApplication(sys.argv)   # 创建应用对象
    MainWindow = QMainWindow()     # 创建主窗口实例

    ui = Ui_MainWindow()           # 创建 UI 实例
    ui.setupUi(MainWindow)         # 载入 UI 到主窗口

    MainWindow.show()              # 显示窗口
    sys.exit(app.exec_())          # 进入应用循环

6. tableWidget如何设置列宽

方法1:修改生成的UI代码

setupUi()函数中找到

MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)

在这行之前插入代码

# 设置列宽(单位:像素)
self.tableWidget.setColumnWidth(0, 100)  # 第1列宽度
self.tableWidget.setColumnWidth(1, 300)  # 第2列宽度
self.tableWidget.setColumnWidth(2, 200)  # 第3列宽度

方法2:在主函数中修改(不会随着ui的调整而改变)

在主函数中设置列宽

ui.setupUi(MainWindow)

# 设置列宽
ui.tableWidget.setColumnWidth(0, 100)
ui.tableWidget.setColumnWidth(1, 300)
ui.tableWidget.setColumnWidth(2, 200)

本文由 changchang 原创,转载请注明出处。

📖相关推荐