您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python-2.7 – 向TabWidget pyqt4添加加号按钮

5b51 2022/1/14 8:20:21 python 字数 4775 阅读 462 来源 www.jb51.cc/python

以下代码提供了一个可以动态添加选项卡的选项卡界面 import sys, random from PyQt4 import QtCore, QtGui class TabContainer(QtGui.QWidget): def __init__(self): super(TabContainer, self).__init__() self.next_item_is_tab

概述

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中是否有任何属性或者我是否需要在那里添加新按钮..?

上述代码的来源是:Dynamically change view of tabs in a QTabWidget (PyQt)

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)

总结

以上是编程之家为你收集整理的python-2.7 – 向TabWidget pyqt4添加加号按钮全部内容,希望文章能够帮你解决python-2.7 – 向TabWidget pyqt4添加加号按钮所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶