python PyQt 5-按钮点击.connect()-没有建议[重复]

emeijp43  于 2023-04-19  发布在  Python
关注(0)|答案(2)|浏览(183)

此问题已在此处有答案

Integrate Qt Designer and PyCharm(2个答案)
6小时前关闭
我使用QtDesigner通过加载**.ui文件创建应用程序。
一切正常,但为什么在为clicked.connect(some_def)编写代码时没有建议,例如:
我已经安装了Python 3.11.3和PyCharm IDE。
enter image description here
代码示例:
`from PyQt5 import QtWidgets,uic from PyQt5.QtWidgets import QMainWindow,QAbstractButton import sys
类Ui(QMainWindow):def
init**(self):super(Ui,self).init()uic.loadUi('gui. ui',self)

#self.button = QtWidgets.QPushButton("&Print", self)
    self.button = self.findChild(QtWidgets.QPushButton, 'printButton')
    self.button.clicked.connect(self.printButtonPressed)
    self.show()

def printButtonPressed(self):
    print('printButtonPressed')

app = QtWidgets.QApplication(sys.argv)window = Ui()app.exec_()`
我在python 3.10.11和python 3.8.10上进行了测试,但这些建议仍然不起作用。

368yc8dk

368yc8dk1#

不确定,但这可能是因为def printButtonPressed(self):上的标志,也可能是文本编辑器的问题,你必须研究一下,因为我对vscode之外的编辑器没有经验。

b09cbbtk

b09cbbtk2#

问题解决了。我需要将“.ui”转换为“.py”并加载类Ui_MainWindow。
示例工作代码(建议工作良好)。
`从PyQt5导入QtWidgets,uic从PyQt5. QtWidgets导入QMainWindow,QAbstractButton导入sys从gui导入Ui_MainWindow
类Ui(QMainWindow):definit(self):super(Ui,self).init()# uic.loadUi('gui. ui',self)

self.ui = Ui_MainWindow()
    self.ui.setupUi(self)

    self.ui.printButton.clicked.connect(self.printButtonPressed)

    self.show()

def printButtonPressed(self):
    print('printButtonPressed')

app = QtWidgets.QApplication(sys.argv)window = Ui()app.exec_()`

相关问题