前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PySide6 GUI 编程(20):QTabWidget的简单用法

PySide6 GUI 编程(20):QTabWidget的简单用法

原创
作者头像
bowenerchen
发布2024-07-30 21:29:45
1510
发布2024-07-30 21:29:45
举报
文章被收录于专栏:编码视界

示例代码

代码语言:python
代码运行次数:0
复制
import random

from PySide6.QtCore import Qt
from PySide6.QtGui import QColor, QFont, QPalette
from PySide6.QtWidgets import QApplication, QLabel, QMainWindow, QTabWidget, QVBoxLayout, QWidget


class ColorWidget(QWidget):
    def __init__(self, color: QColor, content: str):
        super().__init__()
        label = QLabel(content)
        label.setAutoFillBackground(True)
        palette = label.palette()
        palette.setColor(QPalette.ColorGroup.Normal, QPalette.ColorRole.Window, color)
        label.setPalette(palette)
        label.setAlignment(Qt.AlignmentFlag.AlignVCenter | Qt.AlignmentFlag.AlignHCenter)
        label.setFont(QFont('Arial', 40))
        layout = QVBoxLayout()
        layout.addWidget(label)
        self.setLayout(layout)


class MyTabWidget(QMainWindow):
    def __init__(self, tabs_num = 5):
        super().__init__()
        self.setWindowTitle('Tab Widget')
        self.tab_widget = QTabWidget()
        self.tab_widget.setTabPosition(QTabWidget.TabPosition.North)
        self.tab_widget.setMovable(True)
        # self.tab_widget.setDocumentMode(True)
        # 获取原始的列表
        color_names = QColor.colorNames()
        # 随机洗牌打乱顺序
        random.shuffle(color_names)
        for i in range(0, tabs_num):
            self.tab_widget.addTab(ColorWidget(QColor(color_names[i]), f'tab[{i}]'), color_names[i])
        self.setCentralWidget(self.tab_widget)


if __name__ == '__main__':
    app = QApplication()
    ins = MyTabWidget(10)
    ins.show()
    app.exec()

运行效果

移动 Tab 页位置
移动 Tab 页位置

设置DocumentMode

设置 DocumentMode
设置 DocumentMode

运行效果

设置 DocumentMode
设置 DocumentMode
DocumentMode在 MacOS 下的静态展示效果
DocumentMode在 MacOS 下的静态展示效果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例代码
  • 运行效果
  • 设置DocumentMode
  • 运行效果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档