Tabs 标签页
基础用法

from PySide6.QtWidgets import QLabel
from monkeyqt import MkTabs
tabs = MkTabs()
# 添加标签页,会自动创建头部 TabButton 和内容区域关联
tabs.add_tab("tab1", "用户信息", QLabel("用户信息页面"))
tabs.add_tab("tab2", "安全设置", QLabel("安全设置页面"))
API 属性与方法
MkTabs 构造函数 &
核心方法
| 方法名 |
参数 |
返回值 |
说明 |
add_tab(tab_id, title, widget) |
(str, str, QWidget) |
None |
添加一个新的标签页。tab_id 为该标签的唯一标识,title 为标签上显示的标题文字,widget 为切换到该标签时下方显示的组件 |
set_active(tab_id) |
(str) |
None |
代码控制切换当前选中的标签页 |
信号
| 信号名称 |
参数 |
说明 |
tabChanged |
(str) |
切换标签页时发射,参数为当前激活的 tab_id |
示例代码
import sys
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QHBoxLayout
from monkeyqt import MkTabs, MkButton
class TabsDemo(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Tabs Demo")
self.resize(600, 400)
layout = QVBoxLayout(self)
# 1. 创建标签页组件 self.tabs = MkTabs()
layout.addWidget(self.tabs)
# 2. 为标签页准备一些页面组件 page_1 = QLabel("🎉 欢迎来到首页内容区!")
page_2 = QLabel("⚙️ 这里是系统偏好设置中心。" ))
page_3 = QLabel("✉️ 消息通知收件箱" ) #)
# 调整下标签内容的排版样式
for p in [page_1, page_2, page_3]:
p.setStyleSheet("font-size: 16px; color: #606266; qproperty-alignment: AlignCenter;")
# 3. 将页面添加到 Tabs
self.tabs.add_tab("tab-home", "首页", page_1)
self.tabs.add_tab("tab-settings", "系统设置", page_2)
self.tabs.add_tab("tab-msg", "消息通知", page_3)
# 4. 创建辅助操作栏 btn_layout = QHBoxLayout()
btn_layout.addStretch()
self.btn_switch = MkButton("代码切换到消息通知页", type="primary")
self.btn_switch.clicked.connect(lambda: self.tabs.set_active("tab-msg"))
btn_layout.addWidget(self.btn_switch)
layout.addLayout(btn_layout)
# 绑定信号
self.tabs.tabChanged.connect(self._on_tab_changed)
def _on_tab_changed(self, tab_id):
print(f"当前选中的标签页是: {tab_id}")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = TabsDemo()
window.show()
sys.exit(app.exec())