如何设置pythonwxwidgets应用程序窗口的类名?

2024-09-24 20:40:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在Linux(Ubuntu)上设置pythonwxwidgets应用程序窗口的类名。默认设置为“python”

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

基本上,我要做的是将应用程序窗口的类名更改为自定义值,这样我就可以将它与Cairo dock中的图标关联起来。在

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

更多细节


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

问题是当我启动Pronterface Cairo dock没有将Pronterface窗口与启动器相关联。它在启动程序上创建一个新图标,窗口带有Python徽标。在

有一个启动器选项可以输入一个程序类名(以及一个从打开的窗口获取它的工具),这样Cairo dock可以识别属于启动器的窗口。在

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

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


Tags: 对象方法程序app应用程序ubuntulinux图标
1条回答
网友
1楼 · 发布于 2024-09-24 20:40:06

你可能在找wx.应用程序的SetAppName()方法。另外,还有frame的SetTitle()方法,但我猜您已经尝试过了。在

编辑:

我在wxPython-dev上问过这个问题,他们让我想起了一些我从Windows中回忆起来的事情。您可能需要使用PyInstaller之类的东西冻结应用程序,以使其正常工作。另一方面,这是wxPython的创建者Robin Dunn所说的:

在X11库的深处应用程序和窗口可以 指定一个字符串用作类名。在过去 这是一个非常普通的用户,允许使用Motif 在应用程序中使用 .Xdefaults文件。这很像CSS现在的样子,你可以在那里设置 项目的颜色、字体或其他属性。如果小部件名称 类名由应用程序程序员设置,然后 属性可以为特定类型的所有元素设置,例如 按钮,或具有特定类名的所有元素 同时在特定的 控制等级等

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

相关问题 更多 >