【问题标题】:How do I change tkinter default title in OS bar?如何更改操作系统栏中的 tkinter 默认标题?
【发布时间】:2019-05-09 18:28:15
【问题描述】:

我正在使用 Tkinter 编写一个 python 应用程序,但我找不到更改操作系统顶部栏中默认标题 Tk 的方法(Gnome 顶部栏和停靠栏也是如此)。 我可以设置主窗口标题,但它不会更改顶部栏中的字符串Tk。老实说,我很惊讶我找不到任何人问同样的问题。

我正在使用 Python 3.6 在 Ubuntu 18.04 上进行开发

这是复制问题的示例代码:

import tkinter as tk

if __name__ == "__main__":
    mainWindow = tk.Tk()
    mainWindow.title("TEST")
    mainWindow.geometry("1024x600")
    mainWindow.mainloop()

我希望在主窗口框架标题、操作系统顶部栏和操作系统应用程序扩展坞中读取字符串TEST,但我只在窗口框架标题中得到它。其余显示Tk

【问题讨论】:

  • 多么有趣,它在 Windows 上运行良好……也许你需要向 tkinter 开发人员提交票证之类的
  • 你的代码适合我。
  • @Mike-SMT 你在 Ubuntu 上吗?
  • 不,我目前不在 linux 发行版上。我将不得不等到我回家测试它。您的代码是正确的并且应该可以工作,所以如果它不存在,则可能是已知的错误,因为标题经常有人更改,我想象的类似这个问题的问题已经记录在案。
  • 请提供截图

标签: python python-3.x tkinter


【解决方案1】:

Ubuntu 中的顶栏标题不是由正在运行的应用程序设置的,而是由应用程序的桌面条目设置的。我不确定为什么它会像没有桌面条目时那样工作,但是您可以创建这样的文件并将其导入 Ubuntu 以使其正常工作。

[Desktop Entry]
Type=Application
Terminal=false
Icon=/path/to/icon/icon.png
Name=TITLE (this is what handles the top bar title)
Exec=/path/to/file/executable
Categories=Utility;

在 AskUbuntu 上查看 this question

【讨论】:

  • 谢谢,我在/usr/share/applications/ 中添加了.desktop 文件,现在我也可以从ubuntu dash 启动器运行该应用程序,但标题仍固定为Tk。我会更多地研究这种方法,也许还有其他事情要做。
  • 这里有同样的问题。 root.title("..") + 桌面文件“名称”属性都设置为好名字,但菜单栏一直显示“Tk”——真的很奇怪。我在 Ubuntu 20.04
  • @samba2 你找到解决办法了吗?
【解决方案2】:

使用类名

mainWindow = tk.Tk(className='Ghanshyam')

根据 tkinter 上的 python Docs

Tk 类在没有参数的情况下被实例化。这会创建一个 Tk 的顶级小部件,它通常是应用程序的主窗口。每个实例都有自己关联的 Tcl 解释器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-11
    • 2020-09-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    相关资源
    最近更新 更多