【问题标题】:Minimize the window tkinter in the windows system tray最小化windows系统托盘中的window tkinter
【发布时间】:2019-09-30 06:27:32
【问题描述】:

我在 python 3 中使用 Tkinter 制作了一个 GUI。是否可以关闭窗口并让应用程序留在 Windows 系统托盘中?

Tkinter 中是否有任何用于此的库或命令。

【问题讨论】:

  • 不清楚你在问什么。你想要 - “当按下关闭按钮时,应用程序将在系统托盘中最小化而不是终止”?
  • 也许这可以帮助你:stackoverflow.com/questions/4385656/…
  • 我想我不是更清楚!打扰一下! Parthon63 我想要的正是它。当我关闭窗口时,它将在系统托盘中最小化。有什么办法吗?
  • 再一次,不清楚你在问什么。您希望窗口关闭但仍保持打开状态?你的意思是你想让“X”按钮最小化而不是关闭?你试过什么?你的研究把你带到了哪里?您有没有按预期工作的示例?

标签: python python-3.x tkinter


【解决方案1】:

您可以使用wm_protocol 特别是WM_DELETE_WINDOW 协议。它允许您注册一个回调,该回调将在窗口被销毁时调用。这是一个简单的例子:

import tkinter as tk

root = tk.Tk()
root.protocol("WM_DELETE_WINDOW", root.iconify)
root.mainloop()

.iconify 将窗口变成系统托盘中的图标。

【讨论】:

  • 它不会添加到托盘...只是最小化它
【解决方案2】:

整个解决方案由两部分组成:

  1. 隐藏/恢复 tkinter 窗口
  2. 创建/删除系统托盘对象

Tkinter 没有使用系统托盘的功能。
root.iconify() 最小化到任务栏,而不是托盘)

步骤 1) (more info) 可以通过

window = tk.Tk()
window.withdraw() # hide
window.deiconify() # show

步骤 2) 可以通过站点包完成,例如pystray

examplethe same examplemore info

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 2010-12-08
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多