我正在尝试通过py2exe创建一个exe。该程序正在使用Tkinter显示类似弹出窗口的窗口。问题是,当我像这样运行安装程序时,一切正常:
setup(windows = [{'script': "msg.py"}], zipfile = None)
但是当我尝试制作一个文件的exe时失败:
setup(windows = [{'script': "msg.py"}], zipfile = None, options = {'py2exe': {'bundle_files': 1, 'compressed': True}})
实际上,最终exe可以正常运行,但是不会显示任何窗口。我已经阅读过Windows 7上的bundle_files =
1可能存在问题,但我也尝试了bundle_files = 2来达到同样的效果。这是我的msg.py脚本:
from win32gui import FindWindow, SetForegroundWindow
from Image import open as iopen
from ImageTk import PhotoImage
from Tkinter import Tk, Label
from threading import Timer
from subprocess import Popen
import os
def Thread(t, fun, arg=None):
if arg<>None: x = Timer(t, fun, arg)
else: x = Timer(t, fun)
x.daemon = True
x.start()
def NewMessage():
global root
if not os.path.exists('dane/MSG'):
open('dane/MSG', 'w').write('')
root = Tk()
img = PhotoImage(iopen("incl/nowa.png"))
label = Label(root, image=img)
label.image = img
label.bind("<Button-1>", Click)
label.pack()
root.geometry('-0-40')
root.wm_attributes("-topmost", 1)
root.overrideredirect(1)
root.mainloop()
def Click(event):
global root, exit
root.destroy()
os.remove('dane/MSG')
OpenApp()
exit = True
def OpenApp():
hwnd = FindWindow(None, 'My program name')
if hwnd: SetForegroundWindow(hwnd)
else: Popen('app.exe')
root, exit = None, False
NewMessage()
有任何想法吗?我已经阅读了Tkinter的一些问题,但是关于编译。我的脚本已编译,不会引发任何异常,但不会显示窗口…
我最终遇到了同样的问题,我的解决方案涉及执行以下操作:
加 "dll_excludes": ["tcl85.dll", "tk85.dll"],
在你的 options = {...}
然后从中手动复制这两个DLL
PYTHON_PATH\DLLs\
(以我为例C:\Python27\DLLs
)
到您的exe的位置,然后尝试运行它。
我有一个docker容器,它可以打开一个tkinter窗口,但它一直崩溃,因为它无法连接到主机的显示器。本文给出的答案建议将X-11套接字绑定到容器< code >-v/tmp/. X11-unix:/tmp/. X11-UNIX:ro ,并将其显示环境变量设置为主机< code>-e DISPLAY=$DISPLAY的显示环境变量,但由于这两个变量都是UNIX特定的路径/变量,因此它们在其他操作
我正在为平台游戏做教程,但我的Pygame窗口显示一个黑屏。 我不知道怎么解决这个问题。 我尝试再次关闭和打开Visual Studio Code,但没有任何结果。
我今天下载了LWJGL3,发现它几乎完全重写了。我查阅了一个关于如何创建窗口的教程,但我仍然有创建窗口的问题。 代码运行时没有问题:控制台中没有错误,但窗口没有显示!
#include <stdio.h> void fun1(void) { int i = 0; i++; i = i * 2; printf("%d\n", i); } void fun2(void) { int j = 0; fun1(); j++; j = j
导入pygame 来自pygame。本地进口* 从系统导入退出 皮加梅。init() SCREEN_size(1000,560) screen=pygame。陈列设置模式(屏幕大小,0,32) font=pygame。字体。SysFont(“阿尔及利亚”,18) 字体高度=字体。获取_lineSize() 事件文本 pygame.display.update() 而真: pygame.displa
问题内容: 我正在使用以下代码来启动.cmd文件: 它工作正常,但我实际上希望看到cmd.exe窗口正在运行。如何显示?任何帮助将不胜感激! 问题答案: 除了运行路径外,请尝试实际运行,但是使用build in 命令启动新的命令窗口。您可以通过在命令提示符下输入以下命令来查看完整的命令行参数集: 在您的情况下,您可能想要执行类似以下命令的操作: