解决tkinter程序打包后有些功能不能使用
Posted noob-l
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决tkinter程序打包后有些功能不能使用相关的知识,希望对你有一定的参考价值。
我们编写好一个GUI界面后一般都希望打包生成exe执行文件,这样下次直接点击该执行文件就可以运行图形化界面程序了,
所以我们在打包的时候会用到-w参数,比如pyinstaller -F -w test.py;
该参数的作用就是生成的可执行文件直接运行处图形化界面而不会显示命令框;
但是有时候我们在实际运行的时候会发现这样打包的程序不能正常运行,这时候我们
可以先重新打包一下,注意这一次不要输入-w参数,如果可以运行的话,进行下一步
上面不加-w参数生成的执行文件在运行的时候会有一个命令黑框,看起来很不舒服,为了取消这种效果,
我们可以直接在程序中用代码将控制窗口,加入下面的代码即可
import ctypes
whnd = ctypes.windll.kernel32.GetConsoleWindow()
if whnd != 0:
ctypes.windll.user32.ShowWindow(whnd, 0)
ctypes.windll.kernel32.CloseHandle(whnd)
这样打包后的程序就不会显示控制窗口了。
以上是关于解决tkinter程序打包后有些功能不能使用的主要内容,如果未能解决你的问题,请参考以下文章
Centos7/RedHat7 下 python3使用cx-freeze打包matplotlib程序遇到的问题和解决办法
MacOS 10.14.6 更新后 Tkinter 导致计算机崩溃