【发布时间】:2019-11-18 23:59:04
【问题描述】:
我想在按下两个不同按钮时显示两个不同的图像“显示通过”按钮应该显示一个带有绿色和文本“通过”的图像(在新窗口中),而“显示失败”应该显示一个带有红色和文字“失败”的图像。然而,即使在创建从属窗口(对于通过/失败图像)期间,我执行撤回以隐藏它,当我运行程序时,它们同时显示图像并且按下“显示通过”或“显示失败”按钮没有任何影响。它遵循我的代码:
from tkinter import *
GUI_WIDTH = 500
GUI_HEIGHT = 350
resultShown = False
def showUUTResult(UUTresult, slave):
global resultShown
if (resultShown == 'True'):
slave.withdraw()
slave = Toplevel()
slave.deiconify()
slave.title("Res")
canvas_width = 185
canvas_height = 150
canvas = Canvas(slave, width=canvas_width, height=canvas_height)
canvas.grid(row=5, column=5, sticky=N)
if UUTresult == 'PASS':
img = PhotoImage(file="C:\PythonPrograms\Pass.png")
print('Result is PASS')
elif UUTresult == 'FAIL':
img = PhotoImage(file="C:\PythonPrograms\Fail.png")
print('Result is FAIL')
else:
print('Unknown UUT Result Type!')
canvas.create_image(10, 10, anchor=NW, image=img)
canvas.image = img
resultShown = 'True'
master = Tk()
gui_resolution = str(GUI_WIDTH)+'x'+str(GUI_HEIGHT)
master.geometry(gui_resolution)
master.resizable(FALSE, FALSE)
master.title("PASS FAIL Trial")
slave = Toplevel()
slave.withdraw()
passTestButton = Button(master, text="Show Pass", command=showUUTResult('PASS', slave))
passTestButton.grid(column=1, row=0, pady=5, ipadx=12)
failTestButton = Button(master, text="Show Fail", command=showUUTResult('FAIL', slave))
failTestButton.grid(column=1, row=1, pady=5, ipadx=12)
master.mainloop()
【问题讨论】: