pycharm中类的错误未解决的属性引用'pushButton'

问题描述 投票:0回答:1

我正在pyqt5项目中,在qt designer中设计ui,并在pycharm中编写其python代码。 Ui有一个按钮和标签。单击按钮后,标签值将更改。下面是代码:

import sys
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication, QMainWindow


class ROCKET(QMainWindow):
    def __init__(self):
        super(ROCKET, self).__init__()
        loadUi('ui/gui.ui', self)
        self.pushButton.clicked.connect(self.btn_click)

    def btn_click(self):
        self.label.setText("CLICKED")


app = QApplication(sys.argv)
window = ROCKET()
window.show()
app.exec_()

Pycharm为pushButtonlabel发出警告:

Unresolved attribute reference 'pushButton' for class 'ROCKET'

但是如果我运行代码,则输出正确。如何删除这些警告并使代码正确。

python pycharm pyqt5
1个回答
0
投票

您可以将小部件称为主窗口的属性这一事实是PyQt5通过loadUi提供的一种便利。 PyCharm抱怨是因为它没有看到您为类明确定义pushButton属性。

您可以避免警告的一种方法是显式定义属性:

self.pushButton = self.findChild(QPushButton, "name_of_push_button")
self.pushButton.clicked.connect(self.btn_click)
© www.soinside.com 2019 - 2024. All rights reserved.