2 Star 10 Fork 7

终點起點/PySide6-UI-Demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
TabWidget.py 2.26 KB
一键复制 编辑 原始数据 按行查看 历史
终點起點 提交于 2024-06-28 14:21 +08:00 . 新增部分控件
import sys
import os
import random
from PySide6.QtWidgets import *
from PySide6.QtGui import *
from PySide6.QtCore import *
class Demo(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.parent = parent
layout = QVBoxLayout()
layout.setAlignment(Qt.AlignmentFlag.AlignTop)
toolLayout = QHBoxLayout()
toolLayout.setAlignment(Qt.AlignmentFlag.AlignLeft)
btn = QPushButton('Add')
btn.clicked.connect(self.OnAddClicked)
toolLayout.addWidget(btn)
btn = QPushButton('Insert')
btn.clicked.connect(self.OnInsertClicked)
toolLayout.addWidget(btn)
btn = QPushButton('Delete')
btn.clicked.connect(self.OnDeleteClicked)
toolLayout.addWidget(btn)
layout.addLayout(toolLayout)
self.tabwidget = QTabWidget()
self.tabwidget.setTabsClosable(True)#可关闭
self.tabwidget.currentChanged.connect(self.CurrentChanged)
self.tabwidget.tabCloseRequested.connect(self.TabCloseRequested)
layout.addWidget(self.tabwidget)
self.setLayout(layout)
def OnAddClicked(self):
widgetName = f'Page{self.tabwidget.count()}'
self.tabwidget.addTab(QWidget(),widgetName)
self.parent.OnShowMessage(f"Add Page:{widgetName}")
def OnInsertClicked(self):
widgetName = f'Page{self.tabwidget.count()}'
index = self.tabwidget.currentIndex()
if index==-1:
index=0
self.tabwidget.insertTab(index,QWidget(),widgetName)
self.parent.OnShowMessage(f"Insert Page:{widgetName}")
def OnDeleteClicked(self):
currentIndex = self.tabwidget.currentIndex()
if currentIndex==-1:return
currentName = self.tabwidget.tabText(currentIndex)
self.parent.OnShowMessage(f"Delete Page:{currentName}")
self.tabwidget.removeTab(currentIndex)
def CurrentChanged(self,index):
currentName = self.tabwidget.tabText(index)
self.parent.OnShowMessage(f"Current Page:{currentName}")
def TabCloseRequested(self,index):
currentName = self.tabwidget.tabText(index)
self.parent.OnShowMessage(f"Close Page:{currentName}")
self.tabwidget.removeTab(index)
def runDemo(parent):
wigdet = Demo(parent)
return wigdet
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/johnjiangw/pyside6-ui-demo.git
git@gitee.com:johnjiangw/pyside6-ui-demo.git
johnjiangw
pyside6-ui-demo
PySide6-UI-Demo
master

搜索帮助