我 的 个 人 主 页: 失心疯的个人主页
入 门 教 程 推 荐 : Python零基础入门教程合集
虚 拟 环 境 搭 建 : Python项目虚拟环境(超详细讲解)
PyQt5 系 列 教 程: Python GUI(PyQt5)文章合集
Oracle数据库教程: Oracle数据库文章合集
优 质 资 源 下 载 : 资源下载合集
QTabWidget(parent) # 创建QTabWidget对象的同时设置父对象
addTab(QWidget, str) -> int # 添加选项卡到最后,并添加控件到选项卡的同时设置选项卡标题,返回选项卡索引
addTab(QWidget, QIcon, str) -> int # 添加选项卡到最后,并添加控件到选项卡的同时设置选项卡图标和标题,返回选项卡索引
insertTab(int, QWidget, str) -> int # 在指定索引位置插入选项卡,并添加控件到选项卡的同时设置选项卡标题,返回选项卡索引
insertTab(int, QWidget, QIcon, str) -> int # 在指定索引位置插入选项卡,并添加控件到选项卡的同时设置选项卡图标和标题,返回选项卡索引
setTabPosition(TabPosition) # 设置选项卡位置
# 参数 QTabWidget.TabPosition
# QTabWidget.North # 0,选项卡显示在上方
# QTabWidget.South # 1,选项卡显示在下方
# QTabWidget.West # 2,选项卡显示在左侧
# QTabWidget.East # 3,选项卡显示在右侧
setTabShape(TabShape) # 设置选项卡形状
# 参数 QTabWidget.TabShape
# QTabWidget.Rounded # 0,丰满的,尖角
# QTabWidget.Triangular # 2,三角柱,圆角
setTabText(index, str) # 设置指定索引选项卡显示文本
setTabsClosable(bool) # 设置是否显示选项卡上的关闭按钮
setMovable(bool) # 设置选项卡是否可以移动
setTabIcon(index, QIcon) # 给指定索引选项卡设置图标
setIconSize(QSize) # 统一设置选项卡图标大小
setUsesScrollButtons(bool) # 设置是否显示选项卡滚动箭头控件
setTabBarAutoHide(bool) # 设置选项卡数量少于2个时是否自动隐藏选项卡栏
setElideMode(Qt.TextElideMode) # 设置选项卡省略文本中省略号“…”的位置
# 参数 Qt.TextElideMode
# Qt.ElideLeft # 0,省略号出现在文本的左侧
# Qt.ElideRight # 1,省略号出现在文本的右侧
# Qt.ElideMiddle # 2,省略号出现在文本的中间
# Qt.ElideNone # 3,显示文本中不出现省略号
removeTab(index) # 移除指定索引选项卡
hide() # 隐藏选项卡
setVisible(bool) # 设置选项卡是否可见
setCurrentIndex(index) # 设置指定索引选项卡为当前选项卡
currentIndex() —> int # 获取当前选项卡的索引
setCurrentWidget(QWidget) # 设置添加了指定控件的选项卡为当前选项卡
currentWidget() -> QWidget # 获取当前选项卡内添加的QWidget控件
count() # 获取选项卡的数量
setDocumentMode(bool) # 设置是否以适合文档页面的模式呈现
# documentMode属性为True时,不会呈现选项卡部件框架,即选项卡页面和其后的窗口等页面无框架区分看起来是一个整体
currentChanged(int index) # 当前选项卡发生更改时发送此信号,发射新选项卡的索引
# 若没有新的索引,则为−1(比如 QTabBar 中没有选项卡)。该信号比较重要。
tabBarClicked(int index) # 单击选项卡时发送此信号,发射被点击选项卡的索引
tabBarDoubleClicked(int index) # 双击选项卡时发送此信号,发射被点击选项卡的索引
# 若光标下没有选项卡,则为−1。
tabCloseRequested(int index) # 当点击选项卡上的关闭按钮时发送此信号,发射关闭的选项卡的索引
from PyQt5.Qt import *
import sys
class Windows(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('QTabWidget-功能演示')
self.resize(810, 810)
self.widget_list()
def widget_list(self):
tbw1 = QTabWidget(self)
tbw2 = QTabWidget(self)
tbw3 = QTabWidget(self)
tbw4 = QTabWidget(self)
tbw1.setGeometry(0, 0, 400, 400)
tbw2.setGeometry(410, 0, 400, 400)
tbw3.setGeometry(0, 410, 400, 400)
tbw4.setGeometry(410, 410, 400, 400)
w11 = QWidget()
w12 = QWidget()
w21 = QWidget()
w22 = QWidget()
w31 = QWidget()
w32 = QWidget()
w41 = QWidget()
w42 = QWidget()
# 添加选项卡/插入选项卡
tbw1.addTab(w11, '选项卡11')
tbw1.insertTab(0, w12, '选项卡12')
tbw2.addTab(w21, '选项卡21')
tbw2.insertTab(0, w22, '选项卡22')
tbw3.addTab(w31, '选项卡31')
tbw3.insertTab(0, w32, '选项卡32')
tbw4.addTab(w41, '选项卡41')
tbw4.insertTab(0, w42, '选项卡42')
# 设置选显卡显示位置
tbw1.setTabPosition(QTabWidget.North)
tbw2.setTabPosition(QTabWidget.South)
tbw3.setTabPosition(QTabWidget.West)
tbw4.setTabPosition(QTabWidget.East)
# 设置选项卡形状
tbw1.setTabShape(QTabWidget.Rounded)
tbw2.setTabShape(QTabWidget.Triangular)
tbw3.setTabShape(QTabWidget.Triangular)
tbw4.setTabShape(QTabWidget.Rounded)
# 设置选项卡显示文本
tbw1.setTabText(0, '测试修改选项卡文本显示超级长的名字10')
tbw1.setTabText(1, '测试修改选项卡文本显示超级长的名字11')
tbw2.setTabText(0, '测试修改选项卡文本显示超级长的名字20')
tbw2.setTabText(1, '测试修改选项卡文本显示超级长的名字21')
tbw3.setTabText(0, '测试修改选项卡文本显示超级长的名字30')
tbw3.setTabText(1, '测试修改选项卡文本显示超级长的名字31')
tbw4.setTabText(0, '测试修改选项卡文本显示超级长的名字40')
tbw4.setTabText(1, '测试修改选项卡文本显示超级长的名字41')
# 设置选项卡省略文本中省略号“…”的位置
tbw1.setElideMode(Qt.ElideLeft)
tbw2.setElideMode(Qt.ElideRight)
tbw3.setElideMode(Qt.ElideMiddle)
tbw4.setElideMode(Qt.ElideNone)
# 其他设置
tbw1.setTabsClosable(True) # 设置是否显示选项卡上的关闭按钮
tbw2.setMovable(True) # 设置选项卡是否可以移动
tbw3.setTabIcon(1, QIcon('../images/bmp/212.bmp')) # 给指定索引选项卡设置图标
tbw3.setIconSize(QSize(15, 15)) # 统一设置选项卡图标大小
tbw4.setUsesScrollButtons(False) # 设置是否显示选项卡滚动箭头控件
# 设置当前显示选项卡
tbw1.setCurrentIndex(0)
tbw2.setCurrentIndex(1)
tbw3.setCurrentWidget(w31)
tbw4.setCurrentWidget(w42)
# 设置适合文档页面的模式
tbw1.setDocumentMode(True)
tbw2.setDocumentMode(False)
tbw3.setDocumentMode(False)
tbw4.setDocumentMode(True)
# 设置选项卡数量少于2个时是否自动隐藏选项卡栏
tbw2.setTabBarAutoHide(True)
def doubleclick_test(index):
print(f'tbw2的{index}索引选项卡被双击了')
tbw2.removeTab(index)
# 点击选项卡关闭按钮发射信号
tbw1.tabCloseRequested.connect(lambda index: print(f'tbw1的{index}索引选项卡关闭按钮被点击了'))
# 选项卡双击发射信号
tbw2.tabBarDoubleClicked.connect(doubleclick_test)
# 选项卡单击发射信号
tbw3.tabBarClicked.connect(lambda index: print(f'tbw3的{index}索引选项卡被单击了'))
# 当前选项卡发生改变时发射信号
tbw4.currentChanged.connect(lambda index: print(f'当前选项卡发生了改变,新索引号为:{index}'))
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Windows()
window.show()
sys.exit(app.exec_())
from PyQt5.Qt import *
import sys
class Windows(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('QTabWidget-实战演练')
self.resize(500, 300)
self.widget_list()
def widget_list(self):
self.tabw = QTabWidget()
nav_w = QWidget()
btn1 = QPushButton('主页')
btn2 = QPushButton('简介')
btn3 = QPushButton('联系')
btn4 = QPushButton('地址')
btn1.setObjectName('btn1')
btn2.setObjectName('btn2')
btn3.setObjectName('btn3')
btn4.setObjectName('btn4')
vlayout = QVBoxLayout()
vlayout.addWidget(btn1)
vlayout.addWidget(btn2)
vlayout.addWidget(btn3)
vlayout.addWidget(btn4)
nav_w.setLayout(vlayout)
w1 = QWidget()
w2 = QWidget()
w3 = QWidget()
w4 = QWidget()
QLabel('主页', w1).move(100, 100)
QLabel('简介', w2).move(100, 100)
QLabel('联系', w3).move(100, 100)
QLabel('地址', w4).move(100, 100)
self.tabw.addTab(w1, '主页')
self.tabw.addTab(w2, '简介')
self.tabw.addTab(w3, '联系')
self.tabw.addTab(w4, '地址')
hlayout = QHBoxLayout()
hlayout.addWidget(nav_w)
hlayout.addWidget(self.tabw)
self.setLayout(hlayout)
QMetaObject.connectSlotsByName(self)
def on_btn1_clicked(self):
self.tabw.setCurrentIndex(0)
def on_btn2_clicked(self):
self.tabw.setCurrentIndex(1)
def on_btn3_clicked(self):
self.tabw.setCurrentIndex(2)
def on_btn4_clicked(self):
self.tabw.setCurrentIndex(3)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Windows()
window.show()
sys.exit(app.exec_())
self.tabw.tabBar().hide()
隐藏选项卡栏from PyQt5.Qt import *
import sys
class Windows(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('QTabWidget-实战演练')
self.resize(500, 300)
self.widget_list()
def widget_list(self):
self.tabw = QTabWidget()
nav_w = QWidget()
btn1 = QPushButton('主页')
btn2 = QPushButton('简介')
btn3 = QPushButton('联系')
btn4 = QPushButton('地址')
btn1.setObjectName('btn1')
btn2.setObjectName('btn2')
btn3.setObjectName('btn3')
btn4.setObjectName('btn4')
vlayout = QVBoxLayout()
vlayout.addWidget(btn1)
vlayout.addWidget(btn2)
vlayout.addWidget(btn3)
vlayout.addWidget(btn4)
nav_w.setLayout(vlayout)
w1 = QWidget()
w2 = QWidget()
w3 = QWidget()
w4 = QWidget()
QLabel('主页', w1).move(100, 100)
QLabel('简介', w2).move(100, 100)
QLabel('联系', w3).move(100, 100)
QLabel('地址', w4).move(100, 100)
self.tabw.addTab(w1, '主页')
self.tabw.addTab(w2, '简介')
self.tabw.addTab(w3, '联系')
self.tabw.addTab(w4, '地址')
hlayout = QHBoxLayout()
hlayout.addWidget(nav_w)
hlayout.addWidget(self.tabw)
self.setLayout(hlayout)
self.tabw.tabBar().hide()
QMetaObject.connectSlotsByName(self)
def on_btn1_clicked(self):
self.tabw.setCurrentIndex(0)
def on_btn2_clicked(self):
self.tabw.setCurrentIndex(1)
def on_btn3_clicked(self):
self.tabw.setCurrentIndex(2)
def on_btn4_clicked(self):
self.tabw.setCurrentIndex(3)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Windows()
window.show()
sys.exit(app.exec_())