代码拉取完成,页面将自动刷新
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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。