吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 591|回复: 3
收起左侧

[求助] Qt designer的问题

[复制链接]
longgege0919 发表于 2022-8-19 19:24
本帖最后由 longgege0919 于 2022-8-19 20:09 编辑

比如用Qt designer,创建这样一个窗口,在窗口上添加一个按钮,并为这个按钮添加一个自定义的槽函数
ui文件在这,原名button.ui ,被我重命名成button.txt了
button.txt (1.07 KB, 下载次数: 0)

111.png
222.png
保存成ui文件后,用pyuic转换成py文件,代码如下
[Python] 纯文本查看 复制代码
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(150, 140, 93, 28))
        self.pushButton.setObjectName("pushButton")

        self.retranslateUi(Form)
        self.pushButton.clicked.connect(Form.printshow)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton.setText(_translate("Form", "PushButton"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

按说这里的Form.printshow没有具体定义,会报错,但是我不在这里直接运行,而是在另外新建一个py文件,导入这个包,新建文件代码如下
[Python] 纯文本查看 复制代码
import sys
from PyQt5.Qt import *
from PyQt5 import QtCore, QtGui, QtWidgets
from button_2 import Ui_Form
class MyWindow(QWidget, Ui_Form):
    def __init__(self):
        super(MyWindow, self).__init__()
        self.setupUi(self)
    def printshow(self):
        print('test')

if __name__ == "__main__":

    app = QApplication(sys.argv)
    Form = QWidget()
    ui = MyWindow()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())


运行这段代码,还是会报错,即使我定义了这个printshow方法。而且报错是直接提示错误在ui文件转成的py文件里,错误类型是AttributeError: 'QWidget' object has no attribute 'printshow',错误提示如下
333.png

请问各位大神,如何在不修改界面文件的前提下,在后面文件里导入前面的包,正常运行呢?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
洛枫 发表于 2022-8-20 02:31
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| longgege0919 发表于 2022-8-20 12:11

感谢,但是这样的话,界面里还是报错。我暂时解决了,不在Qt designer里定义槽函数,在调用里定义,也能用
头像被屏蔽
洛枫 发表于 2022-8-20 17:03
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表