Tk-Inter消息框辅助窗口错误

时间:2020-10-08 22:33:44

标签: python-3.x tkinter

首先,感谢您在我的帖子中停留。我是一名Python业余作家,我正在GUI中捕获一些客户信息,第一步是用户在执行我的应用程序之前确保系统已打开,为此,我使用messagebox.showinfo命令。

但是,此命令还会打开辅助窗口(不确定原因)。在互联网上搜索时,我意识到最好的搭便车方法是使用“提款”指令。

我的GUI应该有一张图片,为此,我使用“ Photoimage”,但是由于某种原因,我试图将其分配到GUI中的图片转到了由messagebox.showinfo打开的辅助窗口。

有人知道为什么我的图片在第二个窗口而不是在主GUI中结束吗?

下面您可以在计算机中使用的代码,您可能需要在C中创建一个文件夹并加载图片,以便可以看到我在这里看到的内容。

感谢您的光临。

from tkinter import *
import tkinter.messagebox
from tkinter import messagebox
import tkinter as tk
import os

################ To Avoid Parasite Window To Open ##################
##root = tkinter.Tk()
##root.withdraw()

messagebox.showinfo(message="Make sure System is ON", title="My App 1.00")

def configure():
   print ("hi")

####################### Main Window Design ##########################
##
#####################################################################
main = tkinter.Tk()
main.resizable(0,0)
main.geometry('490x510+700+50')
main.title('My App 1.00')
Label(main, text='GSYSTEM 1.00', font=("Tahoma", 20)).place(x=5,y=0)
LabelFrame(main, text=' Enter Data: ', font=("Tahoma", 14), height=180, width=480, bd=2, relief='ridge' ).place(x=5,y=100)

#########################  PN  ######################################
tmudir = "C:\\System"
os.chdir(tmudir)
Label(main, text='Scan Product :',font=("Tahoma", 12)).place(x=10,y=150)
LabelFrame(main, font=("Tahoma", 10), height=30, width=180, bd=3, relief='ridge').place(x=110,y=147)
pn_label = PhotoImage(file='TNL.png')
Label(image=pn_label).place(x=310,y=120)

####################### Main Window Design JO #######################
##
#####################################################################
LabelFrame(main, text='  ORDER INFO: ', font=("Tahoma", 14), height=100, width=480, bd=2,   relief='ridge' ).place(x=5,y=360)
Label(main, text='Scan   Order:',font=("Tahoma", 12)).place(x=10,y=385)
joborderinfo = Entry(main,font=("Arial Narrow", 12))
joborderinfo.place(x=265,y=385)

########## Main Window Design Buttons Start and Config ##############
##
#####################################################################
power_supply_btn = Button(main, text="START TEST", font=("Tahoma", 21), height=1, width=24, command=configure)
power_supply_btn.place(x=55,y=40)
power_supply_btn.config(state=NORMAL)

mainloop()
SystemExit()

1 个答案:

答案 0 :(得分:1)

您必须首先创建主窗口,然后使用withdraw()仅显示消息。您可以这样做:

import tkinter as tk
from tkinter import messagebox

main = tk.Tk()
main.withdraw()

messagebox.showinfo(message="Make sure System is ON", title="My App 1.00")

main.deiconify() # undo the withdraw() command.

def configure():
   print ("hi")

main.resizable(0,0)
main.geometry('490x510+700+50')
main.title('My App 1.00')
# rest of your code