22from PyQt5 .QtCore import QTimer , QCoreApplication , Qt , QRect
33from PyQt5 .QtGui import QPixmap
44# from PyQt5.QtWidgets import QLineEdit, QInputDialog, QShortcut
5- from PyQt5 .QtWidgets import QApplication , QFileDialog
5+ from PyQt5 .QtWidgets import QApplication , QFileDialog , QWidget
66import gameDefinedParameter
77import superGUI , gameAbout , gameSettings , gameSettingShortcuts ,\
88 captureScreen , mine_num_bar , videoControl , gameRecordPop
@@ -131,6 +131,9 @@ def pixSize(self):
131131 @pixSize .setter
132132 def pixSize (self , pixSize ):
133133 pixSize = max (5 , pixSize )
134+ pixSize = min (255 , pixSize )
135+ pixSize = min (32767 // self .column , pixSize )
136+ pixSize = min (32767 // self .row , pixSize )
134137 if hasattr (self , "_pixSize" ) and pixSize == self ._pixSize :
135138 return
136139 self .label .set_rcp (self .row , self .column , pixSize )
@@ -149,19 +152,14 @@ def pixSize(self, pixSize):
149152 # self.label.setFixedSize(QtCore.QSize(self.pixSize*self.column + 8, self.pixSize*self.row + 8))
150153
151154 self .reimportLEDPic (pixSize ) # 重新导入图片,无磁盘io
152- # if hasattr(self, "_pixSize"):
153- # self._pixSize = pixSize
154- # self.reimportLEDPic(pixSize) # 重新导入图片,无磁盘io
155- # else:
156- # self._pixSize = pixSize
157- # self.mineUnFlagedNum = self.mineNum
158- # self.importLEDPic(pixSize) # 导入图片,有磁盘io
159155 self .label_2 .reloadFace (pixSize )
160156 self .set_face (14 )
161157 self .showMineNum (self .mineUnFlagedNum )
162158 self .showTime (0 )
163159 if hasattr (self , "_pixSize" ) and pixSize < self ._pixSize :
160+ self ._pixSize = pixSize
164161 self .minimumWindow ()
162+ return
165163 self ._pixSize = pixSize
166164
167165 @property
@@ -405,6 +403,7 @@ def mineAreaLeftRelease(self, i, j):
405403 self .start_time_unix_2 = QtCore .QDateTime .currentDateTime ().\
406404 toMSecsSinceEpoch ()
407405 self .timer_10ms .start ()
406+ # 禁用双击修改指标名称公式
408407 self .score_board_manager .editing_row = - 2
409408
410409 self .label .ms_board .step ('lr' , (i , j ))
@@ -688,7 +687,7 @@ def dump_evf_file_data(self):
688687 self .label .ms_board .player_identifier = self .player_identifier
689688 self .label .ms_board .race_identifier = self .race_identifier
690689 self .label .ms_board .uniqueness_identifier = self .unique_identifier
691- self .label .ms_board .country = country_name [self .country ].upper ()
690+ self .label .ms_board .country = "XX" if not self . country else country_name [self .country ].upper ()
692691 self .label .ms_board .device_uuid = hashlib .md5 (bytes (str (uuid .getnode ()).encode ())).hexdigest ().encode ( "UTF-8" )
693692
694693 self .label .ms_board .generate_evf_v4_raw_data ()
@@ -724,6 +723,8 @@ def save_evf_file(self):
724723 filename_level = "e_"
725724 else :
726725 filename_level = "c_"
726+ if self .game_state == "display" or self .game_state == "showdisplay" :
727+ self .label .ms_board .current_time = 999999.9
727728 file_name = self .replay_path + '\\ ' + filename_level + \
728729 f'{ self .label .ms_board .mode } ' + '_' + \
729730 f'{ self .label .ms_board .rtime :.3f} ' + \
@@ -1061,11 +1062,7 @@ def action_NEvent(self):
10611062 if ui .alter :
10621063
10631064 self .pixSize = ui .pixSize
1064- # for i in range(4):
1065- # self.predefinedBoardPara[i]['pix_size'] = ui.pixSize
1066-
10671065 self .gameStart ()
1068-
10691066 self .gameMode = ui .gameMode
10701067 self .auto_replay = ui .auto_replay
10711068 self .end_then_flag = ui .end_then_flag
@@ -1086,24 +1083,24 @@ def action_NEvent(self):
10861083 self .predefinedBoardPara [1 ]['attempt_times_limit' ] = self .attempt_times_limit
10871084 self .predefinedBoardPara [1 ]['board_constraint' ] = self .board_constraint
10881085 self .predefinedBoardPara [1 ]['gamemode' ] = ui .gameMode
1089- # self.predefinedBoardPara[1]['pix_size'] = ui.pixSize
10901086 elif (self .row , self .column , self .mineNum ) == (16 , 16 , 40 ):
10911087 self .predefinedBoardPara [2 ]['attempt_times_limit' ] = self .attempt_times_limit
10921088 self .predefinedBoardPara [2 ]['board_constraint' ] = self .board_constraint
10931089 self .predefinedBoardPara [2 ]['gamemode' ] = ui .gameMode
1094- # self.predefinedBoardPara[2]['pix_size'] = ui.pixSize
10951090 elif (self .row , self .column , self .mineNum ) == (16 , 30 , 99 ):
10961091 self .predefinedBoardPara [3 ]['attempt_times_limit' ] = self .attempt_times_limit
10971092 self .predefinedBoardPara [3 ]['board_constraint' ] = self .board_constraint
10981093 self .predefinedBoardPara [3 ]['gamemode' ] = ui .gameMode
1099- # self.predefinedBoardPara[3]['pix_size'] = ui.pixSize
11001094 else :
11011095 self .predefinedBoardPara [0 ]['attempt_times_limit' ] = self .attempt_times_limit
11021096 self .predefinedBoardPara [0 ]['board_constraint' ] = self .board_constraint
11031097 self .predefinedBoardPara [0 ]['gamemode' ] = ui .gameMode
1104- # self.predefinedBoardPara[0]['pix_size'] = ui.pixSize
11051098
11061099 self .mainWindow .setWindowOpacity (ui .transparency / 100 )
1100+ for child in self .mainWindow .findChildren (QWidget ):
1101+ # 设置子窗口的透明度
1102+ child .setWindowOpacity (ui .transparency / 100 )
1103+
11071104 self .score_board_manager .with_namespace ({
11081105 "race_identifier" : ui .race_identifier ,
11091106 "mode" : self .gameMode ,
@@ -1413,7 +1410,8 @@ def play_video(self, video):
14131410 self .video_time_step = 0.01 # 录像时间的步长,定时器始终是10毫秒
14141411 self .label .paint_cursor = True
14151412 self .video_playing = True # 录像正在播放
1416- self .timer_video .start (10 )
1413+ # 禁用双击修改指标名称公式
1414+ self .score_board_manager .editing_row = - 2
14171415
14181416 video .video_playing_pix_size = self .label .pixSize
14191417 self .label .ms_board = video
@@ -1422,6 +1420,8 @@ def play_video(self, video):
14221420 self .label_info .setText (self .label .ms_board .player_identifier )
14231421 # 改成录像的国旗
14241422 self .set_country_flag (self .label .ms_board .country )
1423+
1424+ self .timer_video .start (10 )
14251425
14261426
14271427 def video_playing_step (self ):
@@ -1558,17 +1558,10 @@ def closeEvent_(self):
15581558 else :
15591559 self .game_setting .set_value ("CUSTOM/gamemode" , str (self .gameMode ))
15601560 self .game_setting .set_value ("CUSTOM/pixsize" , str (self .pixSize ))
1561-
1561+
15621562 self .game_setting .sync ()
1563-
15641563 self .record_setting .sync ()
15651564
1566- # conf = configparser.ConfigParser()
1567- # conf.read(self.record_path, encoding='utf-8')
1568- # for key_name in self.record_key_name_list:
1569- # conf[key_name] = self.record[key_name]
1570- # with open(self.record_path, 'w') as configfile:
1571- # conf.write(configfile) # 将对象写入文件
15721565
15731566
15741567
0 commit comments