我有一个QT4 MainWindow用于图形部分。 然后是基类。 来自基类的任何派生类(示例中只有一个)。 我想在基类中打印信息,然后在同一窗口中打印一个派生类的信息(取决于具体情况)。
我现在的代码结果是,我只看到窗口上派生类的结果,因为基类的结果可能打印在一个立即出现的窗口上,打印出派生的新窗口类。
你能帮助我吗?
import sys
from PyQt4 import QtGui, QtCore
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.resize(750, 250)
self.setWindowTitle("TEST")
self.printTest1(10, 20, 30, 40)
# BASE CLASS
class test1(self): # Inherit from MainWindow
a=0
b=0
c=0
d=0
# PRINT BASE CLASS
def printTest1(self, a, b, c, d): # Inherit from test1
self.printA=a
self.printB=b
self.printC=c
self.printD=d
cWidget = QtGui.QWidget()
grid = QtGui.QGridLayout(cWidget)
vBox = QtGui.QVBoxLayout()
etichetta1 = QtGui.QLabel("A: " + str(self.printA), cWidget)
etichetta2 = QtGui.QLabel("B: " + str(self.printB), cWidget)
etichetta3 = QtGui.QLabel("C: " + str(self.printC), cWidget)
etichetta4 = QtGui.QLabel("D: " + str(self.printD), cWidget)
vBox.addWidget(etichetta1)
vBox.addWidget(etichetta2)
vBox.addWidget(etichetta3)
vBox.addWidget(etichetta4)
grid.addLayout(vBox, 1, 0)
cWidget.setLayout(grid)
self.setCentralWidget(cWidget)
self.printTest2(100, 200)
# DERIVED CLASS FROM BASE CLASS
class printTest2(self, a1, b1): # Inherit from test1
self.printA1=a1
self.printB1=b1
cWidget = QtGui.QWidget()
grid = QtGui.QGridLayout(cWidget)
vBox = QtGui.QVBoxLayout()
etichetta1 = QtGui.QLabel("A1: " + str(self.printA1), cWidget)
etichetta2 = QtGui.QLabel("B1: " + str(self.printB1) , cWidget)
vBox.addWidget(etichetta1)
vBox.addWidget(etichetta2)
grid.addLayout(vBox, 1, 0)
cWidget.setLayout(grid)
self.setCentralWidget(cWidget)
a=test1()
a.printTest1(10, 20, 30, 40)
app=QtGui.QApplication(sys.argv)
main=MainWindow()
main.show()
sys.exit(app.exec_())