在我的 CustomTkinter 应用程序中使用 app.overrideredirect(True) 出现问题

问题描述 投票:0回答:1

我在我的 customtkinter 应用程序中使用 app.overrideredirect(True) 来创建自定义标题栏。但是,该应用程序不会出现在 Windows 任务栏中。当我在应用程序外部单击时,它完全消失,我无法使用 Alt+Tab 或 Windows+Tab 将其恢复

from customtkinter import *


app = CTk()
app.geometry("350x500")
app.title("WHC Launcher | Sign In")
app.overrideredirect(True)
app.iconbitmap("WHC.ico")
app.wm_attributes("-toolwindow", False)


minimize_button = CTkButton(app, text="−", font=("Arial", 20), width=30, height=30, corner_radius=0, fg_color="transparent", hover_color="#333333", command=lambda: app.withdraw())
minimize_button.place(x=270, y=10)

close_button = CTkButton(app, text="✕",  font=("Arial", 18), width=30, height=30, corner_radius=0, fg_color="transparent", hover_color="#FF0000", command=app.destroy)
close_button.place(x=305, y=10)

app.mainloop()

尝试创建一个“虚拟窗口”(不可见窗口)作为主应用程序窗口,正如 ChatGPT 建议的那样,但仍然不起作用。

root = CTk() root.withdraw()  # Hide the root window  

实际上并没有改变任何东西

python tkinter customtkinter
1个回答
0
投票

对于Windows平台,您可以尝试模块

hPyT
隐藏标题栏并保留任务栏中的图标:

import customtkinter as ctk
import hPyT

app = ctk.CTk()
hPyT.title_bar.hide(app)
...

结果:

enter image description here


PS:建议使用

app.iconify
代替
app.withdraw
最小化窗口。

© www.soinside.com 2019 - 2024. All rights reserved.