Browse Source

美化了加载进度条

Huan 5 years ago
parent
commit
3cd7866d2d
7 changed files with 19 additions and 21 deletions
  1. 10 9
      Hello.py
  2. BIN
      Pic/favicon.ico
  3. 1 2
      algebraicfactory/gui.py
  4. 6 6
      crawler/gui.py
  5. BIN
      draftboard/ZKST.ttf
  6. 1 2
      funcsystem/factory.py
  7. 1 2
      funcsystem/map.py

+ 10 - 9
Hello.py

@@ -150,10 +150,14 @@ def progress_bar(func):
             SCREEN.update()
             time.sleep(0.015)
         try:
-            progress_screen.title(out_queue.get())
-            progress["value"] = a
-            progress_screen.update()
-            time.sleep(0.5)
+            out_queue.get()
+            t = 0.3
+            for di in range(10):
+                t -= 0.03
+                progress_screen.title(f'检查({round(t,3)})...')
+                progress["value"] = i + di
+                progress_screen.update()
+                time.sleep(0.03)
             progress_screen.destroy()
         except TclError:
             pass
@@ -317,8 +321,6 @@ def queuer():
     queue_screen.title('通信管理器')
     queue_screen.resizable(width=False, height=False)
     queue_screen.geometry(f'+30+30')
-    # queue_screen.wm_iconbitmap(bitmap=f'Pic{os.sep}favicon.ico')
-    img = ImageTk.PhotoImage(Image.open(f'Pic{os.sep}favicon.ico'))
     font = ("黑体", 11)  # 设置字体
 
     def sent():
@@ -368,7 +370,8 @@ def queuer():
 
 def to_website():
     SCREEN.update()
-    webbrowser.open('https://cotan.songzh.website/')
+    t = threading.Thread(target=webbrowser.open, args=('https://cotan.songzh.website/',))
+    t.start()
 
 
 def close():
@@ -403,8 +406,6 @@ def cotan_main():
     bg_image = ImageTk.PhotoImage(Image.open(f'Pic{os.sep}night.jpg'))
     canvas.create_image(500, 400, image=bg_image)
     canvas.grid(column=1, row=0, sticky=tkinter.S + tkinter.N, rowspan=20)
-    # img = ImageTk.PhotoImage(Image.open(f'Pic{os.sep}favicon.ico'))
-    # SCREEN.tk.call('wm', 'iconphoto', SCREEN._w, img)
     SCREEN.iconbitmap(bitmap=f'Pic{os.sep}favicon.ico', default=f'Pic{os.sep}favicon.ico')
     # 标题
     tkinter.Label(

BIN
Pic/favicon.ico


+ 1 - 2
algebraicfactory/gui.py

@@ -1763,6 +1763,7 @@ class API(UIAPI):
 
 def algebraic_factory_main(in_queue, out_queue):
     global SCREEN
+    API.output_prompt_gui("加载完成")
     queue_controller.set_queue(in_queue, out_queue)
     queue_controller()
     SCREEN.mainloop()
@@ -3682,5 +3683,3 @@ prompt_box.grid(
     rowspan=3,
     sticky=tkinter.E + tkinter.W + tkinter.S + tkinter.N,
 )
-
-API.output_prompt_gui("加载完成")

+ 6 - 6
crawler/gui.py

@@ -704,6 +704,12 @@ class API(UIAPI):
 
 def crawler_main(in_queue, out_queue):
     global SCREEN
+    SCREEN.update()  # 要预先update一下,否则会卡住
+    save_dir = askdirectory(title="选择项目位置", must=True)  # 项目位置
+    url = crawler.controller.Url(save_dir, save_dir)  # url管理器
+    loader = crawler.controller.PageDownloader(url, save_dir)  # 页面下载器
+    page_parser = crawler.controller.PageParser(loader)  # 页面解析器
+    database = crawler.template.data_base  # 数据库
     queue_controller.set_queue(in_queue, out_queue)
     queue_controller()
 
@@ -2345,9 +2351,3 @@ tkinter.Button(
     width=gui_width,
     height=gui_height,
 ).grid(column=column + 2, row=row, sticky=tkinter.E + tkinter.W)
-SCREEN.update()  # 要预先update一下,否则会卡住
-save_dir = askdirectory(title="选择项目位置", must=True)  # 项目位置
-url = crawler.controller.Url(save_dir, save_dir)  # url管理器
-loader = crawler.controller.PageDownloader(url, save_dir)  # 页面下载器
-page_parser = crawler.controller.PageParser(loader)  # 页面解析器
-database = crawler.template.data_base  # 数据库

BIN
draftboard/ZKST.ttf


+ 1 - 2
funcsystem/factory.py

@@ -834,6 +834,7 @@ class API(UIAPI):
 
 def function_factory_main(in_queue, out_queue):  # H_S-默认函数GF-关闭时询问返回函数
     global SCREEN
+    API.output_prompt_gui("加载完毕")
     queue_controller.set_queue(in_queue, out_queue)
     queue_controller()
     SCREEN.mainloop()
@@ -1721,5 +1722,3 @@ sheet_box.grid(
     rowspan=17,
     sticky=tkinter.S + tkinter.N + tkinter.E + tkinter.W,
 )
-
-API.output_prompt_gui("加载完毕")

+ 1 - 2
funcsystem/map.py

@@ -591,6 +591,7 @@ class API(UIAPI):
 
 def function_mapping(in_queue, out_queue):
     global SCREEN
+    API.output_prompt_gui("加载完毕")
     queue_controller.set_queue(in_queue, out_queue)
     queue_controller()
     SCREEN.mainloop()
@@ -1014,5 +1015,3 @@ sheet_box.grid(
     rowspan=rowspan + 4,
     sticky=tkinter.S + tkinter.N + tkinter.E + tkinter.W,
 )
-
-API.output_prompt_gui("加载完成,欢迎使用!")