1
我已經在Qt中創建了一個接口作爲.ui文件,然後將其轉換爲python文件。然後,我想爲組件添加一些功能,例如單選按鈕等。爲此,我嘗試從Qt重新實現類並添加我的事件。但它提供了以下錯誤:如何重新實現由Qt生成的Ui_MainWindow
self.radioButton_2.toggled.connect(self.radioButton2Clicked)
NameError: name 'self' is not defined
我的第一個問題是,這是否是對付使用Qt生成的類正確/合適的方法是什麼?其次,爲什麼我會得到錯誤?
我的代碼是在這裏:
import sys
from PySide import QtCore, QtGui
from InterfaceClass_Test01 import Ui_MainWindow
class MainInterface(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainInterface, self).__init__(parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
def setupUi(self, MainWindow):
super(MainInterface, self).setupUi(parent, MainWindow)
self.radioButton.toggled.connect(self.radioButtonClicked)
self.radioButton_2.toggled.connect(self.radioButton2Clicked)
self.radioButton_3.toggled.connect(self.radioButton3Clicked)
def radioButton3Clicked(self, enabled):
pass
def radioButton2Clicked(self, enabled):
pass
def radioButtonClicked(self, enabled):
pass
謝謝!是的,它解決了問題!一個問題:MainInterface類有2個參數,這意味着它有2個父母!那麼,如何在使用超級方法運行時知道哪個__init__被調用? –
'MainInterface'類沒有兩個父母:它從兩個基類繼承。 [super](http://docs.python.org/2/library/functions.html#super)調用確保所有基類(和_their_基類等)的__init__被調用正確的順序。 – ekhumoro