首页 > 解决方案 > PyQt5 Designer - 将 ui 文件转换为代码(py 文件)后,间距全部搞砸了

问题描述

我正在学习 PyQt5 并使用 QT Designer。我已经制作了我的 UI,并希望将其转换为代码。但是,我觉得 QT Designer 有一个错误,因为每当我将 UI 转换为 python 代码时,我都没有得到相同的结果。UI Widgets 和标签都在那里,但间距搞砸了。他们都挤在一起。请看下面的图片。

这就是我的 QT Designer 的样子:

在此处输入图像描述 这是我的用户界面特写:

在此处输入图像描述

在我将它转换为代码并运行它之后,这就是我得到的:

在此处输入图像描述

版本

PyQT5 - 5.15.4
QT Designer - 5.15.2
Python - 3.8

我正在使用 Windows 10 Home 作为我的操作系统来进行这个项目。我在 MacOS 上使用了相同的代码,并且没有出现问题。

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(831, 652)
        font = QtGui.QFont()
        font.setPointSize(12)
        MainWindow.setFont(font)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.companyName_label = QtWidgets.QLabel(self.centralwidget)
        self.companyName_label.setGeometry(QtCore.QRect(20, 20, 611, 31))
        font = QtGui.QFont()
        font.setPointSize(16)
        font.setBold(True)
        font.setItalic(False)
        font.setUnderline(False)
        font.setWeight(75)
        self.companyName_label.setFont(font)
        self.companyName_label.setObjectName("companyName_label")
        self.fullUserName_label = QtWidgets.QLabel(self.centralwidget)
        self.fullUserName_label.setGeometry(QtCore.QRect(20, 50, 101, 31))
        font = QtGui.QFont()
        font.setPointSize(8)
        self.fullUserName_label.setFont(font)
        self.fullUserName_label.setObjectName("fullUserName_label")
        self.activeSessions_label = QtWidgets.QLabel(self.centralwidget)
        self.activeSessions_label.setGeometry(QtCore.QRect(20, 110, 151, 21))
        font = QtGui.QFont()
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.activeSessions_label.setFont(font)
        self.activeSessions_label.setObjectName("activeSessions_label")
        self.activeSessions_number = QtWidgets.QLabel(self.centralwidget)
        self.activeSessions_number.setGeometry(QtCore.QRect(180, 100, 31, 41))

这是代码的结尾:

if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())

这是一个错误还是我做错了什么?任何反馈都非常重要。谢谢你。

标签: pythonpython-3.xqtpyqt5qt-designer

解决方案


推荐阅读