函数在Python | Pyside中无需单击即可执行

函数在Python | Pyside中无需单击即可执行,python,pyside6,Python,Pyside6,我创建了一个带有按钮和禁用文本字段的GUI。 我做了一个def,当点击按钮时,文本字段应该被启用, 但在启动程序时,调用def函数时没有单击按钮。 我犯了什么错 import sys from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QStyle from PySide6.QtCore import * from PySide6.QtGui import QIcon from ui_mainwindow impor

我创建了一个带有按钮和禁用文本字段的GUI。 我做了一个def,当点击按钮时,文本字段应该被启用, 但在启动程序时,调用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_())
是这样的:

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

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

打字:使用
self.ui.butdown.clicked.connect(self.btnclick)
yep它现在可以工作了:)哦,是的,它现在可以工作了,不知道它可以调用这个函数,它不需要单击吗?不,它在调用
\uu init\uuuuu
的过程中调用这个函数。当您编写
self.btnclick()
时,它会在此时调用函数。该函数不返回任何内容,因此您将
None
传递给
按钮。单击。连接。
print(math.sin(1))
print(math.sin)
之间有很大的区别。是一样的。啊,好吧,谢谢你的解释:)