Python Tkinter with Pyscreenshot 脚本在使用 Pyinstaller 编译后无法运行



我的脚本运行流畅。但是,在使用 Pyinstaller 进行编译、启动.exe并单击开始按钮后,GUI 再次打开并崩溃。

def grabberfunc(*args):
im = ImageGrab.grab()
savedir=str(mappa)
savefile="Screenshot_"+str("{:%Y_%m_%d-%H_%M_%S}".format(datetime.datetime.now()))+".png"
savedirfile=join(savedir,savefile)
im.save(str(savedirfile))
def scanning():
interval=deftimeInput.get()
if running:
grabberfunc()
root.after(int(interval)*1000, scanning)
if __name__=='__main__':
root = tkinter.Tk()
...

有一个带有 2 个按钮的基本 GUI:"开始"设置"正在运行"变量"真",反之亦然。 如果脚本运行,GUI 不会再次打开并按照我想要的方式运行。

终于找到了解决方案。

不应导入pyscreenshot模块,而应从PIL导入ImageGrab模块

所以正确的导入是:

from PIL import ImageGrab

通过pyinstaller编译脚本后,exe运行良好。

最新更新