解决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)

这样打包后的程序就不会显示控制窗口了。

posted @ 2020-07-06 18:55  万物小白  阅读(1554)  评论(0编辑  收藏  举报