【发布时间】:2018-01-29 08:13:54
【问题描述】:
我正在开发 Window 10,PyCharm-Python 3.5.2
我想做什么:如果点击了 PB1(按钮 1),打开一个新窗口。
问题:我收到一个错误
self.PB1.clicked.connect(self.Soft_Memory())
TypeError: argument 1 has unexpected type 'NoneType'
由于我定义了 Soft_Memory(),我不明白为什么 Soft_Memory() 是 NoneType。 虽然在编辑器上'.connect' 被突出显示并说在'function'中找不到引用'connect'
代码如下。我已经删除了部分代码,以便更好地查看。如果有人需要完整代码,请发表评论。
SM.py
class SM_Window(QMainWindow, QWidget):
def __init__(self, parent=None):
super().__init__()
self.initU()
def initU(self):
self.setWindowTitle("SM_Window")
self.setGeometry(10, 30, 850, 850)
UI.py
import SM
class MainWindow(QMainWindow, QWidget):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.initUI()
def Soft_Memory(self):
self.SF = SM.SM_Window()
self.SF.show()
def Buttons(self):
#Button for SF
self.PB1 = QPushButton("POP", self)
self.PB1.setToolTip("POPOPOPOPOPOP")
self.PB1.move(100, 100)
def Signal_to_Slot(self):
self.PB1.clicked.connect(self.Soft_Memory())
def initUI(self):
self.setWindowTitle("UI")
self.setGeometry(850, 850, 850, 850)
self.Buttons()
self.Signal_to_Slot()
self.showMaximized()
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = MainWindow()
sys.exit(app.exec())
【问题讨论】: