-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainWindow.py
232 lines (185 loc) · 9.67 KB
/
mainWindow.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'untitled.ui'
##
## Created by: Qt User Interface Compiler version 5.14.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide2.QtCore import (QCoreApplication, QMetaObject, QObject, QPoint,
QRect, QSize, QUrl, Qt)
from PySide2.QtWidgets import *
import action_def
import global_env
QString = type("")
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
if MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
self.gridLayout = QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(u"gridLayout")
self.myCardButton = QPushButton(self.centralwidget)
self.myCardButton.setObjectName(u"myCardButton")
self.myCardButton.clicked.connect(global_env.myCardWindow.open)
self.gridLayout.addWidget(self.myCardButton, 0, 0, 1, 1)
self.enemyCardButton = QPushButton(self.centralwidget)
self.enemyCardButton.setObjectName(u"enemyCardButton")
self.enemyCardButton.clicked.connect(global_env.enemyCardWindow.open)
self.gridLayout.addWidget(self.enemyCardButton, 0, 1, 1, 1)
self.npcSetButton = QPushButton(self.centralwidget)
self.npcSetButton.setObjectName(u"npcSetButton_3")
self.npcSetButton.clicked.connect(global_env.npcWindow.open)
self.gridLayout.addWidget(self.npcSetButton, 0, 2, 1, 1)
self.pushButton_4 = QPushButton(self.centralwidget)
self.pushButton_4.setObjectName(u"pushButton_4")
self.pushButton_4.clicked.connect(global_env.battleReadyWindow.open)
self.gridLayout.addWidget(self.pushButton_4, 1, 0, 1, 1)
self.pushButton_5 = QPushButton(self.centralwidget)
self.pushButton_5.setObjectName(u"pushButton_5")
self.pushButton_5.clicked.connect(self.chooseEXE)
self.gridLayout.addWidget(self.pushButton_5, 1, 1, 1, 1)
self.pushButton_6 = QPushButton(self.centralwidget)
self.pushButton_6.setObjectName(u"pushButton_6")
self.pushButton_6.clicked.connect(self.helpWindowOpen)
self.gridLayout.addWidget(self.pushButton_6, 1, 2, 1, 1)
self.pushButton_7 = QPushButton(self.centralwidget)
self.pushButton_7.setObjectName(u"pushButton_7")
self.pushButton_7.clicked.connect(global_env.dailyBattleWindow.open)
self.gridLayout.addWidget(self.pushButton_7, 2, 0, 1, 1)
# self.pushButton_8 = QPushButton(self.centralwidget)
# self.pushButton_8.setObjectName(u"pushButton_8")
# self.pushButton_8.clicked.connect(self.enterTestMode)
# self.gridLayout.addWidget(self.pushButton_8, 2, 1, 1, 1)
self.pushButton_8 = QPushButton(self.centralwidget)
self.pushButton_8.setObjectName(u"PVP")
self.pushButton_8.clicked.connect(global_env.pvpWindow.open)
self.gridLayout.addWidget(self.pushButton_8, 2, 1, 1, 1)
self.pushButton_9 = QPushButton(self.centralwidget)
self.pushButton_9.setObjectName(u"pushButton_9")
self.pushButton_9.clicked.connect(self.aboutWindowOpen)
self.gridLayout.addWidget(self.pushButton_9, 2, 2, 1, 1)
self.textBrowser = QTextBrowser(self.centralwidget)
self.textBrowser.setObjectName(u"textBrowser")
self.gridLayout.addWidget(self.textBrowser, 3, 0, 1, 3)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0, 0, 800, 22))
MainWindow.setMenuBar(self.menubar)
self.set_menu = self.menubar.addMenu("设置")
self.set_threads_action = self.set_menu.addAction('设置线程数')
self.set_threads_action.triggered.connect(self.set_threads)
self.set_tests_action = self.set_menu.addAction('设置回数')
self.set_tests_action.triggered.connect(self.set_tests)
self.set_verbose_action = self.set_menu.addAction('设置显示进度')
self.set_verbose_action.triggered.connect(self.set_verbose)
self.set_reducerate_action = self.set_menu.addAction('设置抵消率')
self.set_reducerate_action.triggered.connect(self.set_reducerate)
self.set_seedmax_action = self.set_menu.addAction('设置种子数')
self.set_seedmax_action.triggered.connect(self.set_seedmax)
self.set_PCWEIGHT_action = self.set_menu.addAction('设置权重')
self.set_PCWEIGHT_action.triggered.connect(self.set_PCWEIGHT)
self.statusbar = QStatusBar(MainWindow)
self.statusbar.setObjectName(u"statusbar")
MainWindow.setStatusBar(self.statusbar)
self.mpShadeWindow = QWidget(MainWindow)
self.mpShadeWindow.setStyleSheet("QWidget{background-color:rgba(0,0,0,0.3);}")
self.mpShadeWindow.hide()
self.mpgridLayout = QHBoxLayout(self.mpShadeWindow)
self.mpButton = QPushButton(self.mpShadeWindow)
self.mpButton.clicked.connect(self.mpBreak)
self.mpgridLayout.addWidget(self.mpButton, 0.1, Qt.AlignCenter)
self.retranslateUi(MainWindow)
QMetaObject.connectSlotsByName(MainWindow)
# setupUi
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle('咕咕镇计算器图形化界面(伪(伪))')
self.myCardButton.setText("我的卡片")
self.enemyCardButton.setText("敌方卡片")
self.npcSetButton.setText("NPC")
self.pushButton_4.setText("模拟战斗")
self.pushButton_5.setText("设置newkf.exe路径")
self.pushButton_6.setText("HELP")
self.pushButton_7.setText("日常战斗")
self.pushButton_8.setText("PVP战斗")
self.pushButton_9.setText("ABOUT")
self.mpButton.setText("中止计算")
# retranslateUi
def chooseEXE(self):
fileName_choose, filetype = QFileDialog.getOpenFileName(self,
"选取newkf.exe",
".", # 起始路径
"EXE Files (*.exe)") # 设置文件扩展名过滤,用双分号间隔
if fileName_choose == "":
return
QMessageBox.information(self, "提示", "已选择" + fileName_choose + "为咕咕镇计算器", QMessageBox.Yes)
global_env.saveData["setting"]["exeDir"] = fileName_choose
def aboutWindowOpen(self):
QMessageBox.about(self, "关于", """autor: ikarosf @kf
title: 咕咕镇计算器图形化界面(伪(伪))
vision: 2.11
link:
https://bbs.kforz.com/read.php?tid=809582&sf=44f""")
def helpWindowOpen(self):
QMessageBox.information(self, "帮助", """
然而并没有什么可以帮你的
出现问题请确认计算器和界面都是最新版且下载完整
最好分别放在各自的文件夹内然后再设置newkf.exe路径
""")
def enterTestMode(self):
yes = QMessageBox.warning(self, "进入测试模式?", "测试模式暂时唯一的功能是保存卡片时不再检测数值合法性", QMessageBox.Yes | QMessageBox.No)
if yes == QMessageBox.Yes:
global_env.test_mode = True
def set_threads(self):
text, ok = QInputDialog.getInt(self, '设置线程数', '', value=global_env.threads)
if not (ok and text):
return
global_env.threads = text
def set_tests(self):
text, ok = QInputDialog.getInt(self, '测试重复数', '', value=global_env.tests)
if not (ok and text):
return
global_env.tests = text
def set_verbose(self):
yes = QMessageBox.question(self, "请选择", "是否显示计算进度", QMessageBox.Yes | QMessageBox.No)
if yes == QMessageBox.Yes:
global_env.verbose = 1
elif yes == QMessageBox.No:
global_env.verbose = 0
def set_reducerate(self):
text, ok = QInputDialog.getText(self, '设置技能、暴击的抵消率', '如:“1 3”,填“0”为计算器默认设置', text=global_env.reducerate)
if not (ok and text):
return
global_env.reducerate = text
def set_seedmax(self):
text, ok = QInputDialog.getInt(self, '设置初始候选方案最大数量', '默认值1000000(已百万),最大值100000000(一亿)',
value=global_env.seedmax)
if not (ok and text):
return
global_env.seedmax = text
def set_PCWEIGHT(self):
value1, value2 = global_env.PCWEIGHT
PCWEIGHT_text = str(value1) + " " + str(value2)
text, ok = QInputDialog.getText(self, '设置权重', '<权重起始值> <权重结束值>,默认如1 1', text=QString(PCWEIGHT_text))
if not (ok and text):
return
pcw = text.split()
if len(pcw) != 2:
return
retVal = [int(pcw[0]), int(pcw[1])]
global_env.PCWEIGHT = retVal
def disable_all_button(self):
self.mpShadeWindowShow()
def enable_all_button(self):
self.mpShadeWindowHide()
def mpShadeWindowShow(self):
self.mpShadeWindow.setGeometry(0, 0, self.width(), self.height())
self.mpShadeWindow.show()
def mpShadeWindowHide(self):
self.mpShadeWindow.hide()
def mpBreak(self):
action_def.stopNewFKEXE()
self.textBrowser.insertPlainText("计算中止!")