fix: EXE版禁用一键安装拖拽,打包时集成tkinterdnd2
- EXE版(sys.frozen)不显示安装按钮,提示用源码版安装后重新打包 - tkinterdnd2 加入 hidden_imports,打包时自动带上 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+10
-2
@@ -304,6 +304,8 @@ def _setup_drag_area(mid_container, theme, dnd_supported, log_text, status_bar):
|
||||
btn_row = tk.Frame(dnd_frame, bg=theme["card_bg"])
|
||||
btn_row.pack(fill=tk.X)
|
||||
|
||||
is_frozen = getattr(sys, 'frozen', False)
|
||||
|
||||
def copy_install():
|
||||
try:
|
||||
mid_container.winfo_toplevel().clipboard_clear()
|
||||
@@ -312,8 +314,12 @@ def _setup_drag_area(mid_container, theme, dnd_supported, log_text, status_bar):
|
||||
except Exception as e:
|
||||
messagebox.showwarning("复制失败", str(e))
|
||||
|
||||
create_modern_button(btn_row, "复制安装命令", copy_install, "primary", px_width=132, px_height=28).pack(side=tk.RIGHT)
|
||||
|
||||
if is_frozen:
|
||||
tk.Label(
|
||||
btn_row, text="EXE版不支持运行时安装,请用源码版安装后重新打包",
|
||||
bg=theme["card_bg"], fg="#999999", font=("Microsoft YaHei UI", 8)
|
||||
).pack(side=tk.RIGHT, padx=4)
|
||||
else:
|
||||
def install_and_restart():
|
||||
try:
|
||||
add_to_log(log_text, "开始安装拖拽支持库 tkinterdnd2...\n", "info")
|
||||
@@ -332,6 +338,8 @@ def _setup_drag_area(mid_container, theme, dnd_supported, log_text, status_bar):
|
||||
|
||||
create_modern_button(btn_row, "一键安装拖拽", install_and_restart, "primary", px_width=132, px_height=28).pack(side=tk.RIGHT, padx=(3, 0))
|
||||
|
||||
create_modern_button(btn_row, "复制安装命令", copy_install, "primary", px_width=132, px_height=28).pack(side=tk.RIGHT)
|
||||
|
||||
# 点击拖拽框选择文件
|
||||
def _click_select(evt=None):
|
||||
try:
|
||||
|
||||
@@ -58,6 +58,7 @@ hidden_imports = [
|
||||
'xlutils',
|
||||
'requests',
|
||||
'dotenv',
|
||||
'tkinterdnd2',
|
||||
'configparser',
|
||||
'threading',
|
||||
'datetime',
|
||||
|
||||
Reference in New Issue
Block a user