wip: TabTools_StepCalculator

This commit is contained in:
283375 2023-09-18 01:03:08 +08:00
parent d08bc254b2
commit 39ede6eb44
Signed by: 283375
SSH Key Fingerprint: SHA256:UcX0qg6ZOSDOeieKPGokA5h7soykG61nz2uxuQgVLSk
11 changed files with 824 additions and 52 deletions

View File

@ -0,0 +1,341 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TabTools_StepCalculator</class>
<widget class="QWidget" name="TabTools_StepCalculator">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>615</width>
<height>549</height>
</rect>
</property>
<property name="windowTitle">
<string notr="true">TabTools_StepCalculator</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QWidget" name="widget_3" native="true">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>partnerStepValueLabel</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="partnerStepValueSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<double>1000.000000000000000</double>
</property>
<property name="singleStep">
<double>1.000000000000000</double>
</property>
<property name="stepType">
<enum>QAbstractSpinBox::DefaultStepType</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="mapTypeWidget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QWidget" name="mapTypeSelectorWidget" native="true">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QPushButton" name="mapTypeLegacyPlayRadioButton">
<property name="styleSheet">
<string notr="true">QPushButton{background-color: transparent}</string>
</property>
<property name="text">
<string/>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="mapTypePlayRadioButton">
<property name="styleSheet">
<string notr="true">QPushButton{background-color: transparent}</string>
</property>
<property name="text">
<string/>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="mapTypeLegacyPlayPlusRadioButton">
<property name="styleSheet">
<string notr="true">QPushButton{background-color: transparent}</string>
</property>
<property name="text">
<string/>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_4">
<property name="enabled">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">QPushButton{background-color: transparent}</string>
</property>
<property name="text">
<string notr="true">Beyond placeholder</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="stackedWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="legacyPlay">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>legacyPlay.noOptions</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="legacyPlayPlus">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QWidget" name="widget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QRadioButton" name="legacyPlayPlus_x2StaminaRadioButton">
<property name="text">
<string notr="true">x2</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="legacyPlayPlus_x4StaminaRadioButton">
<property name="text">
<string notr="true">x4</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="legacyPlayPlus_x6StaminaRadioButton">
<property name="text">
<string notr="true">x6</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="legacyPlayPlus_useFragmentsGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>legacyPlayPlus.useFragments</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QRadioButton" name="legacyPlayPlus_x11fragRadioButton">
<property name="text">
<string notr="true">x1.1
100</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="legacyPlayPlus_x125fragRadioButton">
<property name="text">
<string notr="true">x1.25
125</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="legacyPlayPlus_x15fragRadioButton">
<property name="text">
<string notr="true">x1.5
500</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="play">
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="play_memoryBoostCheckBox">
<property name="text">
<string>play.memoryBoost</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>calculation</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QWidget" name="horizontalWidget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>playResultLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="playResultSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>100.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QPushButton" name="calculatePlayResultFromScoreButton">
<property name="text">
<string>calculatePlayResultFromScoreButton</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>inverseCalculation</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QWidget" name="horizontalWidget_2" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>targetStep</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="doubleSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,297 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'tabTools_StepCalculator.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 (QAbstractSpinBox, QApplication, QCheckBox, QDoubleSpinBox,
QGridLayout, QGroupBox, QHBoxLayout, QLabel,
QPushButton, QRadioButton, QSizePolicy, QStackedWidget,
QVBoxLayout, QWidget)
class Ui_TabTools_StepCalculator(object):
def setupUi(self, TabTools_StepCalculator):
if not TabTools_StepCalculator.objectName():
TabTools_StepCalculator.setObjectName(u"TabTools_StepCalculator")
TabTools_StepCalculator.resize(615, 549)
TabTools_StepCalculator.setWindowTitle(u"TabTools_StepCalculator")
self.verticalLayout_3 = QVBoxLayout(TabTools_StepCalculator)
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.widget_3 = QWidget(TabTools_StepCalculator)
self.widget_3.setObjectName(u"widget_3")
self.gridLayout = QGridLayout(self.widget_3)
self.gridLayout.setObjectName(u"gridLayout")
self.label = QLabel(self.widget_3)
self.label.setObjectName(u"label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
self.partnerStepValueSpinBox = QDoubleSpinBox(self.widget_3)
self.partnerStepValueSpinBox.setObjectName(u"partnerStepValueSpinBox")
sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.partnerStepValueSpinBox.sizePolicy().hasHeightForWidth())
self.partnerStepValueSpinBox.setSizePolicy(sizePolicy)
self.partnerStepValueSpinBox.setMaximum(1000.000000000000000)
self.partnerStepValueSpinBox.setSingleStep(1.000000000000000)
self.partnerStepValueSpinBox.setStepType(QAbstractSpinBox.DefaultStepType)
self.gridLayout.addWidget(self.partnerStepValueSpinBox, 0, 1, 1, 1)
self.verticalLayout_3.addWidget(self.widget_3)
self.mapTypeWidget = QWidget(TabTools_StepCalculator)
self.mapTypeWidget.setObjectName(u"mapTypeWidget")
self.horizontalLayout = QHBoxLayout(self.mapTypeWidget)
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.mapTypeSelectorWidget = QWidget(self.mapTypeWidget)
self.mapTypeSelectorWidget.setObjectName(u"mapTypeSelectorWidget")
self.gridLayout_2 = QGridLayout(self.mapTypeSelectorWidget)
self.gridLayout_2.setObjectName(u"gridLayout_2")
self.mapTypeLegacyPlayRadioButton = QPushButton(self.mapTypeSelectorWidget)
self.mapTypeLegacyPlayRadioButton.setObjectName(u"mapTypeLegacyPlayRadioButton")
self.mapTypeLegacyPlayRadioButton.setStyleSheet(u"QPushButton{background-color: transparent}")
self.mapTypeLegacyPlayRadioButton.setCheckable(True)
self.mapTypeLegacyPlayRadioButton.setAutoExclusive(True)
self.gridLayout_2.addWidget(self.mapTypeLegacyPlayRadioButton, 0, 0, 1, 1)
self.mapTypePlayRadioButton = QPushButton(self.mapTypeSelectorWidget)
self.mapTypePlayRadioButton.setObjectName(u"mapTypePlayRadioButton")
self.mapTypePlayRadioButton.setStyleSheet(u"QPushButton{background-color: transparent}")
self.mapTypePlayRadioButton.setCheckable(True)
self.mapTypePlayRadioButton.setAutoExclusive(True)
self.gridLayout_2.addWidget(self.mapTypePlayRadioButton, 1, 0, 1, 1)
self.mapTypeLegacyPlayPlusRadioButton = QPushButton(self.mapTypeSelectorWidget)
self.mapTypeLegacyPlayPlusRadioButton.setObjectName(u"mapTypeLegacyPlayPlusRadioButton")
self.mapTypeLegacyPlayPlusRadioButton.setStyleSheet(u"QPushButton{background-color: transparent}")
self.mapTypeLegacyPlayPlusRadioButton.setCheckable(True)
self.mapTypeLegacyPlayPlusRadioButton.setAutoExclusive(True)
self.gridLayout_2.addWidget(self.mapTypeLegacyPlayPlusRadioButton, 0, 1, 1, 1)
self.pushButton_4 = QPushButton(self.mapTypeSelectorWidget)
self.pushButton_4.setObjectName(u"pushButton_4")
self.pushButton_4.setEnabled(False)
self.pushButton_4.setStyleSheet(u"QPushButton{background-color: transparent}")
self.pushButton_4.setText(u"Beyond placeholder")
self.pushButton_4.setCheckable(False)
self.pushButton_4.setAutoExclusive(True)
self.gridLayout_2.addWidget(self.pushButton_4, 1, 1, 1, 1)
self.horizontalLayout.addWidget(self.mapTypeSelectorWidget)
self.stackedWidget = QStackedWidget(self.mapTypeWidget)
self.stackedWidget.setObjectName(u"stackedWidget")
sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.stackedWidget.sizePolicy().hasHeightForWidth())
self.stackedWidget.setSizePolicy(sizePolicy1)
self.legacyPlay = QWidget()
self.legacyPlay.setObjectName(u"legacyPlay")
self.verticalLayout = QVBoxLayout(self.legacyPlay)
self.verticalLayout.setObjectName(u"verticalLayout")
self.label_3 = QLabel(self.legacyPlay)
self.label_3.setObjectName(u"label_3")
self.verticalLayout.addWidget(self.label_3)
self.stackedWidget.addWidget(self.legacyPlay)
self.legacyPlayPlus = QWidget()
self.legacyPlayPlus.setObjectName(u"legacyPlayPlus")
self.verticalLayout_2 = QVBoxLayout(self.legacyPlayPlus)
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.widget = QWidget(self.legacyPlayPlus)
self.widget.setObjectName(u"widget")
sizePolicy2 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred)
sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
sizePolicy2.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth())
self.widget.setSizePolicy(sizePolicy2)
self.horizontalLayout_2 = QHBoxLayout(self.widget)
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.legacyPlayPlus_x2StaminaRadioButton = QRadioButton(self.widget)
self.legacyPlayPlus_x2StaminaRadioButton.setObjectName(u"legacyPlayPlus_x2StaminaRadioButton")
self.legacyPlayPlus_x2StaminaRadioButton.setText(u"x2")
self.horizontalLayout_2.addWidget(self.legacyPlayPlus_x2StaminaRadioButton)
self.legacyPlayPlus_x4StaminaRadioButton = QRadioButton(self.widget)
self.legacyPlayPlus_x4StaminaRadioButton.setObjectName(u"legacyPlayPlus_x4StaminaRadioButton")
self.legacyPlayPlus_x4StaminaRadioButton.setText(u"x4")
self.horizontalLayout_2.addWidget(self.legacyPlayPlus_x4StaminaRadioButton)
self.legacyPlayPlus_x6StaminaRadioButton = QRadioButton(self.widget)
self.legacyPlayPlus_x6StaminaRadioButton.setObjectName(u"legacyPlayPlus_x6StaminaRadioButton")
self.legacyPlayPlus_x6StaminaRadioButton.setText(u"x6")
self.horizontalLayout_2.addWidget(self.legacyPlayPlus_x6StaminaRadioButton)
self.verticalLayout_2.addWidget(self.widget)
self.legacyPlayPlus_useFragmentsGroupBox = QGroupBox(self.legacyPlayPlus)
self.legacyPlayPlus_useFragmentsGroupBox.setObjectName(u"legacyPlayPlus_useFragmentsGroupBox")
sizePolicy2.setHeightForWidth(self.legacyPlayPlus_useFragmentsGroupBox.sizePolicy().hasHeightForWidth())
self.legacyPlayPlus_useFragmentsGroupBox.setSizePolicy(sizePolicy2)
self.legacyPlayPlus_useFragmentsGroupBox.setCheckable(True)
self.legacyPlayPlus_useFragmentsGroupBox.setChecked(False)
self.horizontalLayout_3 = QHBoxLayout(self.legacyPlayPlus_useFragmentsGroupBox)
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.legacyPlayPlus_x11fragRadioButton = QRadioButton(self.legacyPlayPlus_useFragmentsGroupBox)
self.legacyPlayPlus_x11fragRadioButton.setObjectName(u"legacyPlayPlus_x11fragRadioButton")
self.legacyPlayPlus_x11fragRadioButton.setText(u"x1.1\n"
"100")
self.horizontalLayout_3.addWidget(self.legacyPlayPlus_x11fragRadioButton)
self.legacyPlayPlus_x125fragRadioButton = QRadioButton(self.legacyPlayPlus_useFragmentsGroupBox)
self.legacyPlayPlus_x125fragRadioButton.setObjectName(u"legacyPlayPlus_x125fragRadioButton")
self.legacyPlayPlus_x125fragRadioButton.setText(u"x1.25\n"
"125")
self.horizontalLayout_3.addWidget(self.legacyPlayPlus_x125fragRadioButton)
self.legacyPlayPlus_x15fragRadioButton = QRadioButton(self.legacyPlayPlus_useFragmentsGroupBox)
self.legacyPlayPlus_x15fragRadioButton.setObjectName(u"legacyPlayPlus_x15fragRadioButton")
self.legacyPlayPlus_x15fragRadioButton.setText(u"x1.5\n"
"500")
self.horizontalLayout_3.addWidget(self.legacyPlayPlus_x15fragRadioButton)
self.verticalLayout_2.addWidget(self.legacyPlayPlus_useFragmentsGroupBox)
self.stackedWidget.addWidget(self.legacyPlayPlus)
self.play = QWidget()
self.play.setObjectName(u"play")
self.verticalLayout_4 = QVBoxLayout(self.play)
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.play_memoryBoostCheckBox = QCheckBox(self.play)
self.play_memoryBoostCheckBox.setObjectName(u"play_memoryBoostCheckBox")
self.verticalLayout_4.addWidget(self.play_memoryBoostCheckBox)
self.stackedWidget.addWidget(self.play)
self.horizontalLayout.addWidget(self.stackedWidget)
self.verticalLayout_3.addWidget(self.mapTypeWidget)
self.widget_2 = QWidget(TabTools_StepCalculator)
self.widget_2.setObjectName(u"widget_2")
sizePolicy3 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
sizePolicy3.setHorizontalStretch(0)
sizePolicy3.setVerticalStretch(0)
sizePolicy3.setHeightForWidth(self.widget_2.sizePolicy().hasHeightForWidth())
self.widget_2.setSizePolicy(sizePolicy3)
self.horizontalLayout_4 = QHBoxLayout(self.widget_2)
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.groupBox = QGroupBox(self.widget_2)
self.groupBox.setObjectName(u"groupBox")
self.verticalLayout_5 = QVBoxLayout(self.groupBox)
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
self.horizontalWidget = QWidget(self.groupBox)
self.horizontalWidget.setObjectName(u"horizontalWidget")
self.horizontalLayout_5 = QHBoxLayout(self.horizontalWidget)
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
self.label_2 = QLabel(self.horizontalWidget)
self.label_2.setObjectName(u"label_2")
self.horizontalLayout_5.addWidget(self.label_2)
self.playResultSpinBox = QDoubleSpinBox(self.horizontalWidget)
self.playResultSpinBox.setObjectName(u"playResultSpinBox")
sizePolicy.setHeightForWidth(self.playResultSpinBox.sizePolicy().hasHeightForWidth())
self.playResultSpinBox.setSizePolicy(sizePolicy)
self.playResultSpinBox.setDecimals(3)
self.playResultSpinBox.setMaximum(100.000000000000000)
self.playResultSpinBox.setSingleStep(0.100000000000000)
self.horizontalLayout_5.addWidget(self.playResultSpinBox)
self.verticalLayout_5.addWidget(self.horizontalWidget)
self.calculatePlayResultFromScoreButton = QPushButton(self.groupBox)
self.calculatePlayResultFromScoreButton.setObjectName(u"calculatePlayResultFromScoreButton")
self.verticalLayout_5.addWidget(self.calculatePlayResultFromScoreButton)
self.horizontalLayout_4.addWidget(self.groupBox)
self.groupBox_2 = QGroupBox(self.widget_2)
self.groupBox_2.setObjectName(u"groupBox_2")
self.verticalLayout_6 = QVBoxLayout(self.groupBox_2)
self.verticalLayout_6.setObjectName(u"verticalLayout_6")
self.horizontalWidget_2 = QWidget(self.groupBox_2)
self.horizontalWidget_2.setObjectName(u"horizontalWidget_2")
self.horizontalLayout_6 = QHBoxLayout(self.horizontalWidget_2)
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
self.label_4 = QLabel(self.horizontalWidget_2)
self.label_4.setObjectName(u"label_4")
self.horizontalLayout_6.addWidget(self.label_4)
self.doubleSpinBox = QDoubleSpinBox(self.horizontalWidget_2)
self.doubleSpinBox.setObjectName(u"doubleSpinBox")
sizePolicy.setHeightForWidth(self.doubleSpinBox.sizePolicy().hasHeightForWidth())
self.doubleSpinBox.setSizePolicy(sizePolicy)
self.horizontalLayout_6.addWidget(self.doubleSpinBox)
self.verticalLayout_6.addWidget(self.horizontalWidget_2)
self.horizontalLayout_4.addWidget(self.groupBox_2)
self.verticalLayout_3.addWidget(self.widget_2)
self.retranslateUi(TabTools_StepCalculator)
self.stackedWidget.setCurrentIndex(1)
QMetaObject.connectSlotsByName(TabTools_StepCalculator)
# setupUi
def retranslateUi(self, TabTools_StepCalculator):
self.label.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partnerStepValueLabel", None))
self.mapTypeLegacyPlayRadioButton.setText("")
self.mapTypePlayRadioButton.setText("")
self.mapTypeLegacyPlayPlusRadioButton.setText("")
self.label_3.setText(QCoreApplication.translate("TabTools_StepCalculator", u"legacyPlay.noOptions", None))
self.legacyPlayPlus_useFragmentsGroupBox.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"legacyPlayPlus.useFragments", None))
self.play_memoryBoostCheckBox.setText(QCoreApplication.translate("TabTools_StepCalculator", u"play.memoryBoost", None))
self.groupBox.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"calculation", None))
self.label_2.setText(QCoreApplication.translate("TabTools_StepCalculator", u"playResultLabel", None))
self.calculatePlayResultFromScoreButton.setText(QCoreApplication.translate("TabTools_StepCalculator", u"calculatePlayResultFromScoreButton", None))
self.groupBox_2.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"inverseCalculation", None))
self.label_4.setText(QCoreApplication.translate("TabTools_StepCalculator", u"targetStep", None))
pass
# retranslateUi

View File

@ -24,6 +24,11 @@
<string>tab.infoLookup</string>
</attribute>
</widget>
<widget class="TabTools_StepCalculator" name="tab_2">
<attribute name="title">
<string>tab.stepCalculator</string>
</attribute>
</widget>
</widget>
</item>
</layout>
@ -35,6 +40,12 @@
<header>ui.implements.tabs.tabTools.tabTools_InfoLookup</header>
<container>1</container>
</customwidget>
<customwidget>
<class>TabTools_StepCalculator</class>
<extends>QWidget</extends>
<header>ui.implements.tabs.tabTools.tabTools_StepCalculator</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>

View File

@ -1,52 +1,57 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'tabToolsEntry.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, QSizePolicy, QTabWidget, QVBoxLayout,
QWidget)
from ui.implements.tabs.tabTools.tabTools_InfoLookup import TabTools_InfoLookup
class Ui_TabToolsEntry(object):
def setupUi(self, TabToolsEntry):
if not TabToolsEntry.objectName():
TabToolsEntry.setObjectName(u"TabToolsEntry")
TabToolsEntry.resize(500, 400)
TabToolsEntry.setWindowTitle(u"TabToolsEntry")
self.verticalLayout = QVBoxLayout(TabToolsEntry)
self.verticalLayout.setObjectName(u"verticalLayout")
self.tabWidget = QTabWidget(TabToolsEntry)
self.tabWidget.setObjectName(u"tabWidget")
self.tab = TabTools_InfoLookup()
self.tab.setObjectName(u"tab")
self.tabWidget.addTab(self.tab, "")
self.verticalLayout.addWidget(self.tabWidget)
self.retranslateUi(TabToolsEntry)
self.tabWidget.setCurrentIndex(0)
QMetaObject.connectSlotsByName(TabToolsEntry)
# setupUi
def retranslateUi(self, TabToolsEntry):
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QCoreApplication.translate("TabToolsEntry", u"tab.infoLookup", None))
pass
# retranslateUi
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'tabToolsEntry.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, QSizePolicy, QTabWidget, QVBoxLayout,
QWidget)
from ui.implements.tabs.tabTools.tabTools_InfoLookup import TabTools_InfoLookup
from ui.implements.tabs.tabTools.tabTools_StepCalculator import TabTools_StepCalculator
class Ui_TabToolsEntry(object):
def setupUi(self, TabToolsEntry):
if not TabToolsEntry.objectName():
TabToolsEntry.setObjectName(u"TabToolsEntry")
TabToolsEntry.resize(500, 400)
TabToolsEntry.setWindowTitle(u"TabToolsEntry")
self.verticalLayout = QVBoxLayout(TabToolsEntry)
self.verticalLayout.setObjectName(u"verticalLayout")
self.tabWidget = QTabWidget(TabToolsEntry)
self.tabWidget.setObjectName(u"tabWidget")
self.tab = TabTools_InfoLookup()
self.tab.setObjectName(u"tab")
self.tabWidget.addTab(self.tab, "")
self.tab_2 = TabTools_StepCalculator()
self.tab_2.setObjectName(u"tab_2")
self.tabWidget.addTab(self.tab_2, "")
self.verticalLayout.addWidget(self.tabWidget)
self.retranslateUi(TabToolsEntry)
self.tabWidget.setCurrentIndex(0)
QMetaObject.connectSlotsByName(TabToolsEntry)
# setupUi
def retranslateUi(self, TabToolsEntry):
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QCoreApplication.translate("TabToolsEntry", u"tab.infoLookup", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QCoreApplication.translate("TabToolsEntry", u"tab.stepCalculator", None))
pass
# retranslateUi

View File

@ -0,0 +1,113 @@
from PySide6.QtCore import QEasingCurve, QObject, QSize, Qt, QTimeLine
from PySide6.QtGui import QIcon, QPainter, QPaintEvent, QPixmap
from PySide6.QtWidgets import (
QAbstractButton,
QButtonGroup,
QGraphicsColorizeEffect,
QLabel,
QWidget,
)
from ui.designer.tabs.tabTools.tabTools_StepCalculator_ui import (
Ui_TabTools_StepCalculator,
)
class MapTypeListWidgetWidget(QLabel):
def paintEvent(self, e: QPaintEvent) -> None:
size = self.size()
painter = QPainter(self)
scaledPixmap = self.pixmap().scaled(
size,
Qt.AspectRatioMode.KeepAspectRatio,
Qt.TransformationMode.SmoothTransformation,
)
x = (size.width() - scaledPixmap.width()) / 2
y = (size.height() - scaledPixmap.height()) / 2
painter.drawPixmap(x, y, scaledPixmap)
class ButtonGrayscaleEffectApplier(QObject):
def __init__(self, parent: QAbstractButton):
super().__init__(parent)
self.timeline = QTimeLine(500, self)
self.timeline.setEasingCurve(QEasingCurve.Type.OutCubic)
self.timeline.frameChanged.connect(self.applyGrayscaleEffect)
parent.toggled.connect(self.triggerEffectAnimation)
self.triggerEffectAnimation(parent.isChecked())
def triggerEffectAnimation(self, buttonEnabled: bool):
if self.timeline.state() == QTimeLine.State.Running:
self.timeline.stop()
startFrame = self.timeline.currentFrame()
stopFrame = 0 if buttonEnabled else 100
self.timeline.setFrameRange(startFrame, stopFrame)
self.timeline.start()
def applyGrayscaleEffect(self, frame: int):
target: QAbstractButton = self.parent()
value = frame / 100
effect = QGraphicsColorizeEffect(target)
effect.setColor("#000000")
effect.setStrength(value)
target.setGraphicsEffect(effect)
class TabTools_StepCalculator(Ui_TabTools_StepCalculator, QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
staminaIcon = QIcon(":/images/stepCalculator/stamina.png")
for radioButton in [
self.legacyPlayPlus_x2StaminaRadioButton,
self.legacyPlayPlus_x4StaminaRadioButton,
self.legacyPlayPlus_x6StaminaRadioButton,
]:
radioButton.setIcon(staminaIcon)
radioButton.setIconSize(QSize(25, 15))
memoryBoostIcon = QIcon(":/images/stepCalculator/memory-boost.png")
self.play_memoryBoostCheckBox.setIcon(memoryBoostIcon)
self.play_memoryBoostCheckBox.setIconSize(QSize(75, 100))
mapTypeIconSize = QSize(150, 50)
for button, pixmap in zip(
[
self.mapTypeLegacyPlayRadioButton,
self.mapTypeLegacyPlayPlusRadioButton,
self.mapTypePlayRadioButton,
],
[
QPixmap(":/images/stepCalculator/legacy-play.png"),
QPixmap(":/images/stepCalculator/legacy-play-plus.png"),
QPixmap(":/images/stepCalculator/play.png"),
],
):
button.setIconSize(mapTypeIconSize)
button.setIcon(pixmap)
self.buttonGrayscaleEffectAppliers = []
for button in [
self.mapTypeLegacyPlayRadioButton,
self.mapTypeLegacyPlayPlusRadioButton,
self.mapTypePlayRadioButton,
self.legacyPlayPlus_x2StaminaRadioButton,
self.legacyPlayPlus_x4StaminaRadioButton,
self.legacyPlayPlus_x6StaminaRadioButton,
self.play_memoryBoostCheckBox,
]:
applier = ButtonGrayscaleEffectApplier(button)
self.buttonGrayscaleEffectAppliers.append(applier)
self.mapTypeButtonGroup = QButtonGroup(self)
self.mapTypeButtonGroup.addButton(self.mapTypeLegacyPlayRadioButton, 0)
self.mapTypeButtonGroup.addButton(self.mapTypeLegacyPlayPlusRadioButton, 1)
self.mapTypeButtonGroup.addButton(self.mapTypePlayRadioButton, 2)
self.mapTypeButtonGroup.idToggled.connect(self.stackedWidget.setCurrentIndex)
self.mapTypePlayRadioButton.setChecked(True)

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -3,6 +3,11 @@
<qresource prefix="/">
<file>images/icon.png</file>
<file>images/logo.png</file>
<file>images/stepCalculator/stamina.png</file>
<file>images/stepCalculator/play.png</file>
<file>images/stepCalculator/memory-boost.png</file>
<file>images/stepCalculator/legacy-play.png</file>
<file>images/stepCalculator/legacy-play-plus.png</file>
<file>lang/zh_CN.qm</file>
<file>lang/en_US.qm</file>