我正在使用 tkinter 制作一些简单的程序,它允许我更改我的计算机分辨率。它认为 python IDLE 直接运行时运行良好,但是当我使用 auto-py-to-exe 和 py-installer 将它转换为 EXE 时,tkinter 窗口不会打开并且命令提示符会暂时打开直到关闭本身。起初我以为这是我的代码或模块,因为我的代码使用 winapi,但我在我制作的另一个 tkinter 上尝试过,但这也无法打开转换后的 tkinter exe。import win32apiimport win32conimport pywintypesfrom tkinter import *def quit(): main_window.destroy()def main(): global option option = StringVar() main_window.geometry("300x200") main_window.title("change resolution") selected_label = Label(main_window, textvariable = option, font = 'Arial 15 bold') selected_label.grid(column=0, row=0) choose_label = Label(main_window, text = "Please choose an option") choose_label.grid(column=0, row=1) defaultbutton = Button(main_window, text= 'default', command = default) defaultbutton.grid(column=0, row=2) teamviewerbutton = Button(main_window, text= 'teamviewer', command = teamviewer) teamviewerbutton.grid(column=1, row=2) quitbutton = Button(main_window, text = 'quit', command = quit) quitbutton.grid(column=1, row=0) def default(): option.set("default") devmode = pywintypes.DEVMODEType() devmode.PelsWidth = 3440 devmode.PelsHeight = 1440 devmode.Fields = win32con.DM_PELSWIDTH | win32con.DM_PELSHEIGHT win32api.ChangeDisplaySettings(devmode, 0)def teamviewer(): option.set("teamviwer") devmode = pywintypes.DEVMODEType() devmode.PelsWidth = 1920 devmode.PelsHeight = 1080 devmode.Scale = 2 devmode.Fields = win32con.DM_PELSWIDTH | win32con.DM_PELSHEIGHT win32api.ChangeDisplaySettings(devmode, 0)main_window = Tk()main()
1 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
距离我上次使用它已经有一段时间了。
main_window.mainloop()
or
[root tk].mainloop()
这应该放在代码的底部,就在 main() 的下面。
添加回答
举报
0/150
提交
取消