Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何更改tkinter窗口标题的颜色而不将其从任务栏中删除?_Python_User Interface_Tkinter_Header_Window - Fatal编程技术网

Python 如何更改tkinter窗口标题的颜色而不将其从任务栏中删除?

Python 如何更改tkinter窗口标题的颜色而不将其从任务栏中删除?,python,user-interface,tkinter,header,window,Python,User Interface,Tkinter,Header,Window,我正在tkinter中创建一个GUI,并尝试自定义窗口标题,以便更改颜色 我用过: root.overrideredirect(True) 要删除标题,请使用以下命令重建移动选项卡的功能: def move_window(event): x, y = root.winfo_pointerxy() root.geometry(f"+{x-650}+{y}") title_bar = tk.Frame(root, bg=pallete["pallet

我正在tkinter中创建一个GUI,并尝试自定义窗口标题,以便更改颜色

我用过:

root.overrideredirect(True)
要删除标题,请使用以下命令重建移动选项卡的功能:

def move_window(event):
    x, y = root.winfo_pointerxy()
    root.geometry(f"+{x-650}+{y}")

title_bar = tk.Frame(root, bg=pallete["pallete1"], bd=0,height=22)
title_bar.config(highlightthickness=2, highlightcolor= pallete["pallete3"])
title_bar.pack(fill="x")
title_bar.bind('<B1-Motion>', move_window)
def move_窗口(事件):
x、 y=root.winfo_pointerxy()
根几何体(f“+{x-650}+{y}”)
标题栏=tk.框架(根,背景=pallete[“pallete1”],bd=0,高度=22)
title_bar.config(highlightthickness=2,highlightcolor=pallete[“pallete3”])
标题栏包装(fill=“x”)
标题栏绑定(“”,移动窗口)
只有这样,当我
覆盖redirect
以删除窗口标题时,程序会消失在任务栏中,因此您无法找到它

我只是想知道是否有一种方法可以绕过这个问题,或者在不删除窗口头并重建新窗口头的情况下更改窗口头

   
 def minsize():                    # minsize func() for your button
        root.overrideredirect(0)   # minsize window and iconify
        root.iconify()

def showwindow(event):
        root.overrideredirect(1)
        root.iconify()
map

your_widdgget.bind("<Map>", lambda event: showindow(event)) # in this case i don't know why lambda but it still works for me
your_widdgget.bind(“,lambda event:showindow(event))#在这种情况下,我不知道为什么lambda对我仍然有效

这是否回答了您的问题@nbk不,这是我最初查找和使用他们的一些代码的地方,但仍然不起作用。当您重写指令时,您是否希望拖动胜利?或者如果你想让你的应用程序微型化,你需要这个图标?对于override,这里是Lizzard=的完美答案。我不明白你到底是什么意思。还有一个选项
iconify
您可以将其与覆盖一起使用接受的答案将标题栏的颜色更改为您输入的颜色我尝试了绿色而不是白色,因此您可以解释什么与该答案不符吗?@nbk接受的答案允许您移动并关闭屏幕,我希望能够最小化,然后从任务栏再次打开它。root.overrideredirect(True)不会在任务栏中显示程序。saviour现在可以工作了。我仍然需要调整一些内容以适合我的程序,但非常感谢!如果您有此
TclError
,您可以
除了TclError
:传递。。。我没有找到更好的解决办法。也许其他人知道如何更好地处理它。非常感谢您的帮助这里的
'Map'
是什么?它是
。你不需要
lambda
。我发布了
不知道为什么
地图