python2.7 pyqt4创建qtapp_python-2.7 – 向TabWidget pyqt4添加加号按钮

以下代码提供了一个可以动态添加选项卡的选项卡界面

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_())

但我想在标签栏旁边添加一个新的标签按钮,类似于任何浏览器……

我搜索了它,但我无法找到任何添加加号按钮的方法…… TabWidget中是否有任何属性或者我是否需要在那里添加新按钮..?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值