我开发了一个在Windows上运行的Gtk应用程序。 我使用pyInstaller构建一个exe文件。 如果不是没有加载的主题,一切都会好起来的。在
所以,我有我的规范文件:
# -*- mode: python -*-
directory = 'C:\\my_project'
a = Analysis(['main.py'],
pathex=[directory],
hiddenimports=None,
hookspath=None)
more_datas = []
more_binaries = []
more_datas.append(('gtkrc', os.path.join(directory, 'gtkrc'), 'DATA'))
more_binaries.append(('libwimp.dll', os.path.join(directory, 'libwimp.dll'), 'BINARY'))
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries + more_binaries,
a.zipfiles,
a.datas + more_datas,
name='main.exe',
debug=False,
strip=None,
upx=True,
console=True)
在文件中包含二进制文件,krgti部分包含数据libwimp.dll. 两个文件都在我的应用程序目录中。在
在我的项目python代码中,我有:
^{pr2}$当我运行应用程序时,会创建一个临时目录(“uMeixxxxxx”),其中包含两个文件。在
但控制台显示消息:
Gtk-WARNING: Unable to locate theme engine in module_path: "wimp"
主题没有加载。 此警告在以下代码调用后出现:
gtk.rc_reparse_all_for_settings(gtk.settings_get_default(), True)
我错过了什么?在
我发现我错在哪里了。在
问题是我将主题复制到应用程序的本地目录中。这个libwimp.dll必须在特定目录中创建文件才能在临时文件夹中工作。在
这个提示帮助我解决了:
Add hooks for PyGTK themes
相关问题 更多 >
编程相关推荐