Python Qt4类打印输出

时间:2015-11-17 11:22:02

标签: python class pyqt qt4

我有一个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_())

0 个答案:

没有答案