mirror of
https://github.com/283375/arcaea-offline-ocr-model.git
synced 2025-04-11 17:20:18 +00:00
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
from PySide6.QtCore import Qt
|
|
from PySide6.QtWidgets import QListWidgetItem, QMainWindow, QSizePolicy, QWidget
|
|
|
|
from .mainWindow_ui import Ui_MainWindow
|
|
from .tabs.tabProjects import TabProjects
|
|
|
|
|
|
class MainWindow(Ui_MainWindow, QMainWindow):
|
|
TabWidgetTypeRole = Qt.ItemDataRole.UserRole + 10
|
|
|
|
def __init__(self, parent=None):
|
|
super().__init__(parent)
|
|
self.setupUi(self)
|
|
|
|
self.tabsListWidget.itemClicked.connect(self.setItemSelected)
|
|
self.tabsListWidget.currentItemChanged.connect(self.switchTab)
|
|
|
|
projectsItem = QListWidgetItem("Projects", self.tabsListWidget)
|
|
projectsItem.setData(self.TabWidgetTypeRole, TabProjects)
|
|
self.tabsListWidget.addItem(projectsItem)
|
|
|
|
self.tabsListWidget.setMaximumWidth(
|
|
self.tabsListWidget.sizeHintForColumn(0) + 10
|
|
)
|
|
|
|
self.tabsListWidget.setCurrentIndex(self.tabsListWidget.model().index(0, 0))
|
|
|
|
def setItemSelected(self, item: QListWidgetItem):
|
|
item.setSelected(True)
|
|
|
|
def switchTab(self):
|
|
item = self.tabsListWidget.currentItem()
|
|
|
|
tabWidgetType = item.data(self.TabWidgetTypeRole)
|
|
tabWidget: QWidget = tabWidgetType(self)
|
|
# tabWidget.setSizePolicy(
|
|
# QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred
|
|
# )
|
|
|
|
self.centralWidget().layout().removeWidget(self.tabWidget)
|
|
self.tabWidget.deleteLater()
|
|
self.centralWidget().layout().addWidget(tabWidget)
|
|
self.tabWidget = tabWidget
|