mirror of
https://github.com/283375/arcaea-offline-ocr-model.git
synced 2025-07-01 20:36:26 +00:00
init
This commit is contained in:
53
ui/tabs/tabProjects.py
Normal file
53
ui/tabs/tabProjects.py
Normal file
@ -0,0 +1,53 @@
|
||||
from PySide6.QtCore import Qt
|
||||
from PySide6.QtWidgets import QListWidgetItem, QWidget
|
||||
|
||||
from project import Project, Projects
|
||||
|
||||
from ..components.projectEntry import ProjectEntry
|
||||
from .tabProjects_ui import Ui_TabProjects
|
||||
|
||||
|
||||
class ProjectListWidgetItem(QListWidgetItem):
|
||||
ProjectRole = Qt.ItemDataRole.UserRole
|
||||
|
||||
def __init__(self, project: Project, parent=None):
|
||||
super().__init__(parent, QListWidgetItem.ItemType.Type)
|
||||
self.setData(Qt.ItemDataRole.DisplayRole, project.name)
|
||||
self.setData(self.ProjectRole, project)
|
||||
|
||||
|
||||
class TabProjects(Ui_TabProjects, QWidget):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.setupUi(self)
|
||||
|
||||
self.projectListWidget.itemClicked.connect(
|
||||
self.projectListWidget.setCurrentItem
|
||||
)
|
||||
self.projectListWidget.currentItemChanged.connect(self.switchProject)
|
||||
|
||||
self.detectProjects()
|
||||
|
||||
def detectProjects(self):
|
||||
ps = Projects()
|
||||
ps.detectProjects()
|
||||
projects = ps.projects
|
||||
for project in projects:
|
||||
item = ProjectListWidgetItem(project, self.projectListWidget)
|
||||
self.projectListWidget.addItem(item)
|
||||
|
||||
self.projectListWidget.setMaximumWidth(
|
||||
self.projectListWidget.sizeHintForColumn(0) + 10
|
||||
)
|
||||
|
||||
def switchProject(self):
|
||||
item = self.projectListWidget.currentItem()
|
||||
project: Project = item.data(ProjectListWidgetItem.ProjectRole)
|
||||
|
||||
projectEntry = ProjectEntry(self)
|
||||
projectEntry.setProject(project)
|
||||
|
||||
self.layout().removeWidget(self.projectEntry)
|
||||
self.projectEntry.deleteLater()
|
||||
self.layout().addWidget(projectEntry)
|
||||
self.projectEntry = projectEntry
|
41
ui/tabs/tabProjects.ui
Normal file
41
ui/tabs/tabProjects.ui
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TabProjects</class>
|
||||
<widget class="QWidget" name="TabProjects">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>701</width>
|
||||
<height>582</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string notr="true">TabProjects</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QListWidget" name="projectListWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="projectEntry" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
58
ui/tabs/tabProjects_ui.py
Normal file
58
ui/tabs/tabProjects_ui.py
Normal file
@ -0,0 +1,58 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
################################################################################
|
||||
## Form generated from reading UI file 'tabProjects.ui'
|
||||
##
|
||||
## Created by: Qt User Interface Compiler version 6.5.2
|
||||
##
|
||||
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
################################################################################
|
||||
|
||||
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
||||
QMetaObject, QObject, QPoint, QRect,
|
||||
QSize, QTime, QUrl, Qt)
|
||||
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
|
||||
QFont, QFontDatabase, QGradient, QIcon,
|
||||
QImage, QKeySequence, QLinearGradient, QPainter,
|
||||
QPalette, QPixmap, QRadialGradient, QTransform)
|
||||
from PySide6.QtWidgets import (QApplication, QHBoxLayout, QListWidget, QListWidgetItem,
|
||||
QSizePolicy, QWidget)
|
||||
|
||||
class Ui_TabProjects(object):
|
||||
def setupUi(self, TabProjects):
|
||||
if not TabProjects.objectName():
|
||||
TabProjects.setObjectName(u"TabProjects")
|
||||
TabProjects.resize(701, 582)
|
||||
TabProjects.setWindowTitle(u"TabProjects")
|
||||
self.horizontalLayout = QHBoxLayout(TabProjects)
|
||||
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||
self.projectListWidget = QListWidget(TabProjects)
|
||||
self.projectListWidget.setObjectName(u"projectListWidget")
|
||||
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.projectListWidget.sizePolicy().hasHeightForWidth())
|
||||
self.projectListWidget.setSizePolicy(sizePolicy)
|
||||
|
||||
self.horizontalLayout.addWidget(self.projectListWidget)
|
||||
|
||||
self.projectEntry = QWidget(TabProjects)
|
||||
self.projectEntry.setObjectName(u"projectEntry")
|
||||
sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
|
||||
sizePolicy1.setHorizontalStretch(0)
|
||||
sizePolicy1.setVerticalStretch(0)
|
||||
sizePolicy1.setHeightForWidth(self.projectEntry.sizePolicy().hasHeightForWidth())
|
||||
self.projectEntry.setSizePolicy(sizePolicy1)
|
||||
|
||||
self.horizontalLayout.addWidget(self.projectEntry)
|
||||
|
||||
|
||||
self.retranslateUi(TabProjects)
|
||||
|
||||
QMetaObject.connectSlotsByName(TabProjects)
|
||||
# setupUi
|
||||
|
||||
def retranslateUi(self, TabProjects):
|
||||
pass
|
||||
# retranslateUi
|
||||
|
Reference in New Issue
Block a user