我正在开发一个用于工作的小型应用程序w / python和用于GUI的PyQt4。我想要实现的是拥有一个标签式GUI,当用户点击菜单项时,所采取的操作会在QTabWidget中添加一个标签。我目前无法采取行动来做这样的事情。我已尝试手动创建GUI并使用QT设计器,但我无法弄清楚如果可能的话,如何获得向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_())
按菜单项将“This works”打印到控制台,所以我知道它调用了addTab()函数,但是如何让它添加一个Tab?
如果您想查看.ui文件是否有用,请告诉我
答案 0 :(得分:2)
您的操作的处理程序需要创建选项卡标签,以及选项卡内容的窗口小部件,以便将它们添加到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_())
答案 1 :(得分:0)
QTabWidget的addTab()方法,巧合地命名相同,添加了一个标签。