pyqt5 qtdesigner设计好的UI界面 增加底部布局之后全部控件集合在了左上角

发布于 2022-09-12 03:10:34 字数 1212 浏览 28 评论 0

没有加底部布局之前如图:
image.png
加了底部布局之后:
image.png

代码如图:
main.js封装:

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
from Ui_MainWindow import *

class Demo(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(Demo, self).__init__()
        # 将UI界面布局到Demo上;
        self.setupUi(self)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Demo()
    demo.show()
    sys.exit(app.exec_())

部分UI转换成的py代码:

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(942, 666)
        # 定义的底层栅格布局
        self.gridLayout_main = QtWidgets.QGridLayout(MainWindow)
        self.gridLayout_main.setContentsMargins(15, -1, -1, -1)
        self.gridLayout_main.setVerticalSpacing(20)
        self.gridLayout_main.setObjectName("gridLayout_main")
        # 子布局之一
        self.gridLayout_3 = QtWidgets.QGridLayout()
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

以可爱出名 2022-09-19 03:10:34

在qtdesigner 可以拉开吧

半暖夏伤 2022-09-19 03:10:34

你的界面左上角显示的是Form,所以你在QtDesinger里面新建窗口的时候,用模板是Widget吧,而你创建这个启动类的时候继承的是QMainWindow,因此会出现这样的问题。如果你继承的是QFrame, 画面就能正常显示了。如果你创建窗口的时候用的模板是Main Window,才应该是继承QMainWindow。可能是因为这俩库实现show()的过程有区别导致的。image

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文