gpt4 book ai didi

python - 制作一个不显示在任务栏中的 GUI

转载 作者:太空宇宙 更新时间:2023-11-03 14:06:55 28 4
gpt4 key购买 nike

我正在尝试显示一个未显示在任务栏上的 tkinter 窗口(在我的例子中带有图像)。我已经尝试使用描述的方法 here ,但回答者没有提供示例,因此我无法复制它(而且我使用的是 Windows 10,所以也许这是另一个需要考虑的因素)。

我的代码在这里。我正在使用Python 3.5

from tkinter import Toplevel, Tk, Label, PhotoImage

win = Tk()

win.attributes('-alpha', 0.0)
win.iconify()

window = Toplevel(win)
window.geometry("500x500+100+100")
window.overrideredirect(1)

photo = PhotoImage(file="testfile.png")

label = Label(window, image=photo)
label.pack()

win.mainloop()

最佳答案

链接的问题包含一条有趣的评论,建议扭转 that other answer 中所做的事情。除此之外accepted answer这说明只需要设置 WS_EX_TOOLWINDOW 样式即可,一个简单的例子是:

import tkinter as tk
import tkinter.ttk as ttk
from ctypes import windll

GWL_EXSTYLE=-20
WS_EX_TOOLWINDOW=0x00000080

def set_toolwindow(root):
hwnd = windll.user32.GetParent(root.winfo_id())
style = windll.user32.GetWindowLongPtrW(hwnd, GWL_EXSTYLE)
style = style | WS_EX_TOOLWINDOW
res = windll.user32.SetWindowLongPtrW(hwnd, GWL_EXSTYLE, style)
# re-assert the new window style
root.wm_withdraw()
root.after(10, lambda: root.wm_deiconify())

def main():
root = tk.Tk()
root.wm_title("AppWindow Test")
button = ttk.Button(root, text='Exit', command=lambda: root.destroy())
button.place(x=10,y=10)
#root.overrideredirect(True)
root.after(10, lambda: set_toolwindow(root))
root.mainloop()

if __name__ == '__main__':
main()

关于python - 制作一个不显示在任务栏中的 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48815731/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com