首页 > 解决方案 > pycharm中类的错误未解决的属性引用'pushButton'

问题描述

我正在做pyqt5一个项目,我正在设计 uiqt designer并在pycharm. 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_()

pushButtonPycharm 对and给出警告label

Unresolved attribute reference 'pushButton' for class 'ROCKET'

但如果我正在运行代码,我会得到正确的输出。如何删除这些警告并使代码正确。

标签: pythonpycharmpyqt5

解决方案


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

绕过警告的一种方法是显式定义属性:

self.pushButton = self.findChild(QPushButton, "name_of_push_button")
self.pushButton.clicked.connect(self.btn_click)

推荐阅读