从其他类访问PyQt组件



我有一个PyQt类,我想从其他类更改标签文本。但是我得到了这个错误

AttributeError: 'GUI_animate'对象没有属性'label_2'

这是PyQt类中的标签2定义:

self.label_2 = QtGui.QLabel(self.groupBox_4)
self.label_2.setGeometry(QtCore.QRect(40, 40, 60, 20))
self.label_2.setObjectName(_fromUtf8("label_2"))

在另一个类中,我从pyQt类创建了一个实例,并使用这个实例访问label2,但我得到了前面的错误。

aa = GUI_animate()
self.aa.label_2.setText('Text Changed')

有谁能帮忙吗?

QLabel()来自QtWidgets…所以它是qtwidgets。qlabel ()

文本更改不能有self.

希望对你有帮助。

import sys
# from PyQt5 import QtGui
from PyQt5 import QtCore
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout
from PyQt5 import QtWidgets
class GUI_animate(QWidget):
    def __init__(self):
        super().__init__()
        self.label_2 = QtWidgets.QLabel()
        # self.label_2.setGeometry(QtCore.QRect(40, 40, 60, 20))
        self.label_2.setObjectName("First text")
        vbox = QVBoxLayout()
        vbox.addWidget(self.label_2 )
        self.setLayout(vbox)
        self.show()
if __name__ == "__main__":
    app = QApplication(sys.argv)
    aa = GUI_animate()
    aa.label_2.setText('Text Changed')
    sys.exit( app.exec_() )

相关内容

  • 没有找到相关文章

最新更新