1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/nachifur-MulimgViewer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
MulimgViewer.py 2.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
nachifur Отправлено 14.06.2022 20:08 c5fe2c4
from tkinter.messagebox import NO
import wx
from main import MulimgViewer
from path_select import PathSelectFrame
import wx.lib.inspection
from PIL import ImageFile
import sys
from pathlib import Path
ImageFile.LOAD_TRUNCATED_IMAGES = True
class GuiManager():
def __init__(self, UpdateUI, get_type):
self.UpdateUI = UpdateUI
self.get_type = get_type
self.frameDict = {}
def GetFrame(self, type):
frame = self.frameDict.get(type)
if frame is None:
frame = self.CreateFrame(type)
self.frameDict[type] = frame
return frame
def CreateFrame(self, type):
global file_name
if file_name:
input_path = Path(file_name).parent
else:
input_path = None
if type == 0:
return MulimgViewer(None, self.UpdateUI, self.get_type, default_path=input_path)
elif type == 1:
return PathSelectFrame(None, self.UpdateUI, self.get_type)
class MainAPP(wx.App):
def OnInit(self):
self.manager = GuiManager(self.UpdateUI, self.get_type)
self.frame = []
self.frame.append(self.manager.GetFrame(0))
self.frame.append(self.manager.GetFrame(1))
self.frame[0].Show()
self.SetTopWindow(self.frame[0])
self.type = 0 # init show MulimgViewer
return True
def UpdateUI(self, type, input_path=None, parallel_to_sequential=False):
# type=1: PathSelectFrame
# type=0: MulimgViewer
# type=-1: Close
self.type = type
if input_path != None:
if len(input_path) != 0:
# refresh one_dir_mul_dir_manual path
self.frame[0].ImgManager.init(
input_path, 1, parallel_to_sequential)
self.frame[1].refresh_txt(input_path)
self.frame[0].show_img_init()
self.frame[0].ImgManager.set_action_count(0)
self.frame[0].show_img()
if type == -1:
# close window
self.frame[0].close(None)
self.frame[1].close(None)
elif type == 0:
# hidden PathSelectFrame, show MulimgViewer
self.frame[1].Show(False)
self.frame[type].Show(True)
elif type == 1:
# show PathSelectFrame
self.frame[type].Show(True)
return True
def get_type(self):
return self.type
def main():
app = MainAPP()
# debug
# wx.lib.inspection.InspectionTool().Show()
app.MainLoop()
if __name__ == '__main__':
global file_name
if len(sys.argv)>1:
file_name = sys.argv[1]
else:
file_name = None
main()

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/nachifur-MulimgViewer.git
git@api.gitlife.ru:oschina-mirror/nachifur-MulimgViewer.git
oschina-mirror
nachifur-MulimgViewer
nachifur-MulimgViewer
master