python-2.7 – 向TabWidget pyqt4添加加号按钮
发布时间:2020-12-16 21:33:27 所属栏目:Python 来源:网络整理
导读:以下代码提供了一个可以动态添加选项卡的选项卡界面 import sys,randomfrom PyQt4 import QtCore,QtGuiclass TabContainer(QtGui.QWidget): def __init__(self): super(TabContainer,self).__init__() self.next_item_is_table = False self.initUI() def in
以下代码提供了一个可以动态添加选项卡的选项卡界面
import sys,random from PyQt4 import QtCore,QtGui class TabContainer(QtGui.QWidget): def __init__(self): super(TabContainer,self).__init__() self.next_item_is_table = False self.initUI() def initUI(self): self.setGeometry( 150,150,650,350) self.tabwidget = QtGui.QTabWidget(self) vbox = QtGui.QVBoxLayout() vbox.addWidget(self.tabwidget) self.setLayout(vbox) self.pages = [] self.add_page() self.show() def create_page(self,*contents): page = QtGui.QWidget() vbox = QtGui.QVBoxLayout() for c in contents: vbox.addWidget(c) page.setLayout(vbox) return page def create_table(self): rows,columns = random.randint(2,5),random.randint(1,5) table = QtGui.QTableWidget( rows,columns ) for r in xrange(rows): for c in xrange(columns): table.setItem( r,c,QtGui.QTableWidgetItem( str( random.randint(0,10) ) ) ) return table def create_list(self): list = QtGui.QListWidget() columns = random.randint(2,5) for c in xrange(columns): QtGui.QListWidgetItem( str( random.randint(0,10) ),list ) return list def create_new_page_button(self): btn = QtGui.QPushButton('Create a new page!') btn.clicked.connect(self.add_page) return btn def add_page(self): if self.next_item_is_table: self.pages.append( self.create_page( self.create_table(),self.create_new_page_button() ) ) self.next_item_is_table = False else: self.pages.append( self.create_page( self.create_list(),self.create_new_page_button() ) ) self.next_item_is_table = True self.tabwidget.addTab( self.pages[-1],'Page %s' % len(self.pages) ) self.tabwidget.setCurrentIndex( len(self.pages)-1 ) app = QtGui.QApplication(sys.argv) ex = TabContainer() sys.exit(app.exec_()) 但我想在标签栏旁边添加一个新的标签按钮,类似于任何浏览器…… 上述代码的来源是:Dynamically change view of tabs in a QTabWidget (PyQt) 解决方法
您可以在选项卡栏上设置
corner-widget:
self.tabButton = QtGui.QToolButton(self) self.tabButton.setText('+') font = self.tabButton.font() font.setBold(True) self.tabButton.setFont(font) self.tabwidget.setCornerWidget(self.tabButton) self.tabButton.clicked.connect(self.add_page) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |