0
在PyQt代碼中,當self.tr用於調用祖先類的初始值時,出現錯誤 被生產。沒有self.tr的調用起作用。如下所示:在__init__中使用self.tr時,「RuntimeError:超類__init __()%S從未被調用過」
import sys
from PyQt4 import QtGui
class cl1(QtGui.QWidget):
def __init__(self,txt):
super(cl1,self).__init__()
self.edit = QtGui.QLineEdit(txt)
lay = QtGui.QVBoxLayout()
lay.addWidget(self.edit)
self.setLayout(lay)
self.show()
class cl2(cl1):
def __init__(self):
# This line does not work:
super(cl2,self).__init__(self.tr("kuku"))
# If this line is used instead, it works:
# super(cl2,self).__init__("kuku")
app = QtGui.QApplication(sys.argv)
w = cl2()
sys.exit(app.exec_())
又是什麼'self.tr(「庫庫」)'返回?顯然你不能在調用'QtGui.QWidget .__ init __()'之前調用'self.tr()',所以就像醫生對那個問如何讓她停止傷害的女人說:「不要按那裏「。 –
在調用'super(cl2,self).__ init __()'後用'self.edit()'*設置'QtGui.QLineEdit()'對象的文本。 –
我的問題是如果有可能在單一通話中完成所有事情 –