gpt4 book ai didi

python - 如何设置Python wxWidgets应用程序窗口的类名?

转载 作者:行者123 更新时间:2023-12-01 05:39:10 24 4
gpt4 key购买 nike

我需要在 Linux (Ubuntu) 上设置 Python wxWidgets 应用程序窗口的类名。默认情况下它设置为“python”。

我尝试在应用程序对象上调用 SetAppName() 和 SetClassName() 方法,但这似乎没有任何效果。

基本上,我想做的是将应用程序窗口的类名称更改为自定义值,以便我可以将其与其在开罗停靠区中的图标相关联。

该应用程序是 Pronterface ( https://github.com/kliment/Printrun )。

更多详细信息

<小时/>

基本上现在我在 Cairo 码头上有一个启动器图标,它具有 Pronterface 的正确图标(我可以手动设置图标)。

问题是当我启动 Pronterface Cairo 码头时,Pronterface 窗口与启动器没有关联。它在启动器上创建一个带有窗口 Python Logo 的新图标。

有一个启动器选项可用于输入程序类名称(以及一个从打开的窗口中获取该名称的工具),以便 Cairo Dock 可以识别属于启动器的窗口。

问题是 Pronterface 的类名是“python”,如果我使用它,会导致 Pronterface 启动器与任何 wxWidget python 应用程序(或可能任何 python UI 应用程序)关联,而不仅仅是 Pronterface 窗口。

这就是我想更改类名的原因。

最佳答案

您可能正在寻找 wx.App 的 SetAppName() 方法。或者,还有框架的 SetTitle() 方法,但我猜您已经尝试过。

编辑:

我在wxPython-dev上询问过这个问题它们让我想起了 Windows 上的一些事情。您可能需要使用 PyInstaller 之类的工具卡住您的应用程序才能使其正常工作。另一方面,wxPython 的创建者 Robin Dunn 是这么说的:

深入 X11 库应用程序和窗口可以分配一个用作类名的字符串。在过去的日子里,当Motif 工具包是王者,允许用户使用是很常见的使用其自定义应用程序中的 UI 元素.Xdefaults 文件。这很像今天的 CSS,你可以在其中设置项目的颜色、字体或其他属性。如果小部件名称类名由应用程序程序员设置,然后可以为某种类型的所有元素设置属性,例如按钮,或具有特定类名的所有元素,您可以还指定某个特定范围内的小部件或类(或全部)遏制层次结构等

所有这些仍然存在于 X 和 Xt 的幕后库,但我不熟悉 GTK 如何(或是否)公开该库或利用它本身。在旧的 wxMotif 端口 wx 中设置 X 小部件使用传递给 SetName 方法的任何名称,但我不认为它正在 wxGTK 端口中使用该名称执行任何特殊操作。

关于python - 如何设置Python wxWidgets应用程序窗口的类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071490/

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