PyQt4菜单帐户,用于向QTabWidg添加新选项卡

2024-04-20 10:51:37 发布

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

我正在开发一个小型应用程序,使用python和PyQt4实现GUI。我试图实现的是有一个选项卡式的GUI,当用户单击菜单项时,所采取的操作将在QTabWidget中添加一个选项卡。我现在很难采取行动来做这样的事情。我已经尝试过用QT设计器手工创建GUI,但是我不知道如何(如果可能的话)执行一个操作来向QTabWidget添加一个选项卡。这是我的python代码:

import sys
from PyQt4 import QtGui, uic

class TestGUI(QtGui.QMainWindow):
    def __init__(self):
        super(TestGUI, self).__init__()
        uic.loadUi('TEST.ui', self)
        self.show()

        self.actionAdd_Tab.triggered.connect(addTab)

def addTab():
    print 'This works'
    #Add new tab to GUI

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    window = TestGUI()
    sys.exit(app.exec_())

按下菜单项会将“ThisWorks”打印到控制台,所以我知道它调用了addTab()函数,但是如何让它添加一个选项卡呢?在

如果你想看看.ui文件是否有用,请告诉我


Tags: importselfuiinitdefsysgui选项卡
2条回答

操作的处理程序需要创建一个tab标签,以及一个标签内容的小部件,以便将它们添加到tabwidget中。在

首先,尝试以下方法:

import sys
from PyQt4 import QtGui, uic

class TestGUI(QtGui.QMainWindow):
    def __init__(self):
        super(TestGUI, self).__init__()
        uic.loadUi('TEST.ui', self)
        self.actionAdd_Tab.triggered.connect(self.handleAddTab)

    def handleAddTab(self):
        contents = QtGui.QWidget(self.tabWidget)
        layout = QtGui.QVBoxLayout(contents)
        # add other widgets to the contents layout here
        # i.e. layout.addWidget(widget), etc
        self.tabWidget.addTab(contents, 'Tab One')

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    window = TestGUI()
    window.show()
    sys.exit(app.exec_())

QTabWidget的addTab()方法,巧合地命名相同,添加了一个制表符。在

相关问题 更多 >