1 import time
2 import webview
3 import tkinter as tk
4 import threading
5
6 def create_tk_window():
7 splash = tk.Tk()
8 # splash.withdraw() # 初始隐藏窗口
9 width=200
10 height=100
11 splash.overrideredirect(True)
12 splash.geometry("200x100+200+200")
13 splash.configure(bg="#f0f0f0")
14
15 # 居中窗口
16 screen_width = splash.winfo_screenwidth()
17 screen_height = splash.winfo_screenheight()
18 x = (screen_width ) // 2
19 y = (screen_height ) // 2
20
21 label = tk.Label(
22 splash,
23 text="正在初始化...",
24 font=("Microsoft YaHei", 14),
25 bg="#f0f0f0"
26 )
27 label.pack(expand=True)
28
29 splash.title('欢迎页')
30 splash.geometry(f"+{x}+{y}")
31 splash.overrideredirect(True)
32
33 splash.attributes('-topmost', True) # 设置为置顶
34 splash.after(100, lambda: splash.attributes('-topmost', False)) # 短暂置顶后取消
35 # 3秒后显示窗口
36 # splash.after(1000, splash.deiconify())
37
38 splash.after(3000,lambda:splash.destroy())
39 print("-------show Tk")
40 tk.mainloop()
41
42 def create_webview_window():
43 window = webview.create_window(
44 '主窗口',
45 url="https://www.cnblogs.com",
46 width=800,
47 height=480,
48 frameless=False,
49 #easy_drag=True,
50 #on_top=True,
51 #fullscreen=True, # 启用全屏模式
52 maximized=True, # 启用最大化模式
53 confirm_close=True, # 关闭时确认
54 hidden=True
55 )
56 webview.start(show_window, window)
57
58 def show_window(window):
59 print("-------sleep 3.....")
60 time.sleep(3)
61 print("-------wake up....")
62 window.show()
63
64 if __name__ == "__main__":
65 # 创建并启动tkinter线程
66 tk_thread = threading.Thread(target=create_tk_window)
67 tk_thread.daemon = True
68 tk_thread.start()
69
70 # 在主线程中启动webview
71 create_webview_window()