PYQT按键未按下,connect括号内的函数在初始化窗体时直接运行

class Ui_widget(object):
    def setupUi(self, widget):
        widget.setObjectName("widget")
        widget.resize(678, 511)
        self.label1 = QtWidgets.QLabel(widget)
        self.label1.setGeometry(QtCore.QRect(40, 20, 72, 15))
        self.label1.setObjectName("label1")
        self.lineEdit = QtWidgets.QLineEdit(widget)
        self.lineEdit.setGeometry(QtCore.QRect(130, 20, 113, 21))
        self.lineEdit.setObjectName("lineEdit")
        self.label2 = QtWidgets.QLabel(widget)
        self.label2.setGeometry(QtCore.QRect(40, 60, 72, 15))
        self.label2.setObjectName("label2")
        self.lineEdit_2 = QtWidgets.QLineEdit(widget)
        self.lineEdit_2.setGeometry(QtCore.QRect(130, 60, 113, 21))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.textBrowser = QtWidgets.QTextBrowser(widget)
        self.textBrowser.setGeometry(QtCore.QRect(0, 340, 681, 171))
        self.textBrowser.setObjectName("textBrowser")
        self.show_picture = QtWidgets.QLabel(widget)
        self.show_picture.setGeometry(QtCore.QRect(100, 170, 151, 111))
        self.show_picture.setObjectName("show_picture")
        self.pushButton = QtWidgets.QPushButton(widget)
        self.pushButton.setGeometry(QtCore.QRect(350, 40, 93, 28))
        self.pushButton.setObjectName("pushButton")

        self.pushButton.clicked.connect(爬.run)#不能在connect括号内直接调用其他py的函数
        

        self.retranslateUi(widget)
        QtCore.QMetaObject.connectSlotsByName(widget)

    def retranslateUi(self, widget):
        _translate = QtCore.QCoreApplication.translate
        widget.setWindowTitle(_translate("widget", "爬图工具"))
        self.label1.setText(_translate("widget", "网站地址"))
        self.label2.setText(_translate("widget", "名称"))
        self.show_picture.setText(_translate("widget", "展示图片"))
        self.pushButton.setText(_translate("widget", "开始"))

最后是将调用其他py内的函数,放到类的函数中调用,才正常,不知道原理是什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyQt是一种用于创建GUI界面的Python库。closeEvent()函数是在主窗体关闭触发的事件处理函数。在重构主窗体的closeEvent()函数,可以根据实际需求进行定制化的操作。 在重构closeEvent()函数之前,我们需要先在主窗体重写closeEvent()方法。重写的closeEvent()函数在主窗体关闭被调用,并允许我们执行一些额外的任务,比如保存用户数据、询问确认关闭等。 下面是一个示例的重构closeEvent()函数: ``` def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', '确定要关闭窗体吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() ``` 在上述示例,我们使用QMessageBox来显示一个询问对话框,询问用户是否确认关闭窗体。用户可以选择'Yes'或'No'。根据用户的选择,我们可以决定是否接受关闭事件(event.accept()),或者忽略关闭事件(event.ignore())。 当用户选择'Yes'关闭窗体,主窗体被关闭,closeEvent()函数执行相应的任务。当用户选择'No',关闭事件被忽略,主窗体将不关闭。 这是一个简单示例,你可以根据自己的需求来重构closeEvent()函数。你可以在该函数添加更多的逻辑判断、保存文件、显示提示信息等。重构closeEvent()函数可以帮助我们在窗体关闭执行一些额外的任务,以提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值