@@ -79,6 +79,8 @@ def setupUi(self, Config):
7979 Config .setWindowFlags (Qt .WindowType .WindowStaysOnTopHint )
8080
8181 def replaceWithCurrentConfig (self ):
82+ self .ListWidget_SelectableSource .clear ()
83+ self .ListWidget_SelectedSource .clear ()
8284 self .Label_ShortcutKeyText .setText (self .parent .Hotkey_OCR )
8385 configDict = readConfig ()
8486 for each in self .LineEditMapping :
@@ -141,6 +143,9 @@ def cancelHotKey(self):
141143 print ('已取消更改热键' )
142144
143145 def saveConfig (self ):
146+ if (not self .getCurrentSelectedTranslator ()):
147+ QtWidgets .QMessageBox .critical (self ,"配置有误" ,"至少选择一个翻译源!" )
148+ return
144149 data = {each : self .LineEditMapping [each ].text () for each in self .LineEditMapping }
145150 data ['SELECTED_TRANSLATORS' ] = self .getCurrentSelectedTranslator ()
146151 data ['Hotkey_OCR' ] = self .Hotkey_OCR
@@ -251,6 +256,8 @@ def __init__(self):
251256 self .selectionText = str ()
252257 self .OCRText = str ()
253258 self .setupUi (self )
259+ self .defaultWidth , self .defaultHeight = self .width (), self .height ()
260+ self .defaultX , self .defaultY = self .geometry ().x (), self .geometry ().y ()
254261 self .OCRResultTextEdit .setPlainText ('' )
255262 self .SplitMode = "sudachi"
256263 self .Hotkey_OCR = self .ConfigDict ['Hotkey_OCR' ]
@@ -321,7 +328,7 @@ def getScreenPos(self):
321328 self .AreaInit = False
322329 print ('非法选区,请重选!' )
323330 QtWidgets .QMessageBox .critical (self ,"非法选区" ,"选区不合法,请重选!" )
324- self .OCRResultTextEdit .setPlaceholderText ('' )
331+ if self . AreaInit : self .OCRResultTextEdit .setPlaceholderText ('' )
325332 self .OCRButton .setEnabled (self .AreaInit )
326333 self .OCRButtonPlus .setEnabled (self .AreaInit )
327334
@@ -361,11 +368,17 @@ def updateResults(self):
361368 def updateTranslatorList (self , _list :list ):
362369 self .TranslatorList = _list
363370 print (f'当前翻译源为:{ self .TranslatorList } ' )
364- n = _list .__len__ ()
365- if n < 4 :
366- (each .setEnabled (False ) for each in self .resultTextEditList [n - 4 :])
371+ [self .resultTextEditList [n ].setPlaceholderText (eachTranslator ) for n , eachTranslator in enumerate (self .TranslatorList )]
372+ _len = _list .__len__ ()
373+ if _len < 4 :
374+ [each .setVisible (False ) for each in self .resultTextEditList [_len - 4 :]]
375+ n = 80 * (4 - _list .__len__ ())
376+ self .setFixedSize (self .defaultWidth , self .defaultHeight - n )
377+ self .move (self .defaultX , self .defaultY + n )
367378 else :
368- (each .setEnabled (True ) for each in self .resultTextEditList )
379+ [each .setVisible (True ) for each in self .resultTextEditList ]
380+ self .setFixedSize (self .defaultWidth , self .defaultHeight )
381+ self .move (self .defaultX , self .defaultY )
369382
370383 def updateSplitMode (self , mode ):
371384 self .SplitMode = mode
0 commit comments