我用python编写了GTK应用程序.
所有图形用户界面都在glade文件中,并且使用了一些图像.我希望将我的应用程序编译为EXEcutable文件.为此,我正在使用PyInstaller编译器和UPX 打包器.
我按照手册说的做了:
python Configure.py
python Makespec.py --onefile --windowed --upx /path/to/yourscript.py
python Build.py /path/to/yourscript.spec
Run Code Online (Sandbox Code Playgroud)
PyInstaller完美地工作并创建一个exe文件.但为了使我的应用程序正常工作,我必须将我的glade和图像文件复制到exe的文件夹中.
有没有办法将这些文件编译成可执行文件?
我已经以各种方式编辑了我的spec文件,但我无法实现我想要的.下面的Spec文件只将文件复制到目录,但不编译成可执行文件
# -*- mode: python -*-
a = Analysis([os.path.join(HOMEPATH,'support\\_mountzlib.py'), os.path.join(HOMEPATH,'support\\useUnicode.py'), 'r:\\connection\\main.py'],
pathex=['C:\\Documents and Settings\\Lixas\\Desktop\\pyinstaller-1.5-rc1'])
pyz = PYZ(a.pure)
exe = EXE( pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name=os.path.join('dist', 'NetworkChecker.exe'),
debug=False,
strip=False,
upx=True,
console=False,
icon='r:\\connection\\ikona.ico' )
coll = COLLECT(
exe,
[('gui.glade', 'r:\\connection\\gui.glade', 'DATA')],
[('question16.png', 'r:\\connection\\question16.png', 'DATA')],
# a.binaries,
# strip=False,
upx=True,
name='distFinal')
Run Code Online (Sandbox Code Playgroud)
我希望只有一个包含所有内容的可执行文件
#submenu
clearMenu = gtk.Menu()
item = gtk.MenuItem("submenu item")
item.connect("activate", lambda w: self.callBackFunction())
clearMenu.append(item)
item.show()
'''TOP level'''
menu = gtk.Menu()
item = gtk.ImageMenuItem("Item1")
img = gtk.Image()
img.set_from_file('image1.png')
item.set_image(img)
menu.append(item)
item.set_submenu(clearMenu) #attach submenu
item.show()
item = gtk.ImageMenuItem("Item2")
img = gtk.Image()
img.set_from_file('image2.png')
item.set_image(img)
item.connect("activate", lambda w: self.callBackFunction())
menu.append(item)
item.show()
Run Code Online (Sandbox Code Playgroud)
我的顶级项"Item2"调用定义的函数"callBackFunction".但为什么"子菜单项" 不?我做错了什么?
编辑
这是我如何设法强制子菜单项启动所需的操作:
item.connect("button-press-event", self.callBackFunction, argument1, argument2)
Run Code Online (Sandbox Code Playgroud)
但我仍然不明白为什么事件"激活"不适用于子菜单项,而在顶级菜单项中工作
我有一张桌子:
ID | KILLS | DEATHS
$ratio = $kills / $deaths;
如何订购字段,以便以最高比率回显ID?
pygtk ×2
python ×2
contextmenu ×1
glade ×1
menu ×1
mysql ×1
pyinstaller ×1
sql ×1
sql-order-by ×1