函数在Python中无需点击即可执行|派赛德

时间:2021-04-23 04:19:35

标签: python pyside6

我创建了一个带有按钮和禁用文本字段的 GUI。 我做了一个定义,当点击按钮时,应该启用文本字段, 但是当我启动程序时,我的 def 函数被调用而没有单击按钮。 我的错误是什么?

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QStyle
from PySide6.QtCore import *
from PySide6.QtGui import QIcon
from ui_mainwindow import *


class MainWindow(QWidget):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.pushButton.clicked.connect(self.btnclick())

    def btnclick(self):
        self.ui.lineEdit.setEnabled(True)


if __name__ == '__main__':

    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()
    sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:0)

是这样的:

        self.ui.pushButton.clicked.connect(self.btnclick())

该语句不传递函数,它调用函数并传递它的返回值。删除 (),它应该可以工作。