如何在新流程中添加标签页是Qtabwidget?

2024-03-29 02:20:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在一个新的进程中添加一个tab-on-button-click事件,并在某个时间后终止它。 单击按钮时,将创建新流程,但不会创建选项卡。 请帮我重新审视这个问题!!! 尝试的方法如下:

from PyQt4 import Qt, QtCore, QtGui
import sys
import multiprocessing
class createProc(multiprocessing.Process):
    def __init__(self,mnWndObj):
        super(createProc,self).__init__()
        self.Obj = mnWndObj

    def run(self):
        print "Process is being created!!!"
        tab = QtGui.QWidget()
        self.Obj.tabwnd.addTab(tab,"tab")

class MainWnd(QtGui.QWidget):
    def __init__(self,parent=None):
        super(MainWnd,self).__init__(parent)
        self.layout = QtGui.QVBoxLayout()
        self.tabwnd = QtGui.QTabWidget()
        self.webwnd = Qt.QWebView()
        self.webwnd.load(QtCore.QUrl("https://www.google.co.in/"))
        self.webwnd.show()
        self.btn = QtGui.QPushButton("Create Process")
        self.layout.addWidget(self.btn)
        self.layout.addWidget(self.tabwnd)
        self.layout.addWidget(self.webwnd)
        self.setLayout(self.layout)
        self.btn.clicked.connect(self.crProc)

    def crProc(self):
        p = createProc(self)
        p.start()
        print "Process Name",p.name     

if __name__=="__main__":
    app = Qt.QApplication(sys.argv)
    m = MainWnd()
    m.show()
    app.exec_()

Tags: importselfinitdefqtprocesstablayout