我正在使用 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
提交
取消