【发布时间】:2021-06-16 03:41:40
【问题描述】:
我该如何解决这个错误:
Traceback(最近一次调用最后一次):
文件“”,第 32 行,在 run_setup_turn_table 中
AttributeError: 'NoneType' 对象没有属性 'objectName'
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
import sys
class mk_preview_UI(QWidget):
def __init__(self):
super(mk_preview_UI,self).__init__()
self.UI()
self.layout()
self.show()
def UI(self):
self.setup_turnTable = QPushButton("Setup turn table")
self.setup_turnTable.setObjectName("run_setup_btn")
def layout(self):
self.main_layout = QVBoxLayout()
self.main_layout.addWidget(self.setup_turnTable)
self.setLayout(self.main_layout)
class run_ui:
def __init__(self):
self.MainWindow = mk_preview_UI()
self.MainWindow.setup_turnTable.clicked.connect(self.run_setup_turn_table)
def run_setup_turn_table(self):
run_button = self.MainWindow.sender()
if run_button.objectName() == "run_setup_btn":
print "run_setup_btn"
if __name__ == "__main__":
app = QApplication(sys.argv)
MainWindow = run_ui()
sys.exit(app.exec_())
【问题讨论】:
-
这意味着
run_button的类型为NoneType。你的问题在MainWindow.sender() -
当我在“mk_preview_UI”类中设置点击信号时效果很好: