首先,感谢您在我的帖子中停留。我是一名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()
答案 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