【发布时间】:2016-10-28 21:08:42
【问题描述】:
我目前正在尝试学习如何使用 tkinter 构建 GUI,但我的测试应用程序遇到了问题。
我有一个在其上显示图像而不是文本的按钮,并且我还有一组单选按钮,我想控制在常规按钮上显示的图像。目前,单选按钮似乎没有更新我的photofilepath StringVar,因为无论选择的单选按钮如何,该按钮始终具有默认照片。这是我的(简化)代码:
root = Tk() # Set up
root.title("Test GUI")
gui.grid(column=0, row=0, sticky=(N, W, E, S))
photofilepath = StringVar() # Set default photo
photofilepath.set("C:/Users/Ben/Pictures/Default photo.png")
photo = PhotoImage(file=photofilepath.get())
CalcButton = ttk.Button(gui, image=photo)
CalcButton.grid(column=3, row=2, columnspan=1)
# Set button photo
Photo1Rbutton = ttk.Radiobutton(gui, text="Photo 1", variable=photofilepath,
value='C:/Users/Ben/Pictures/Photo 1.png')
Photo1Rbutton.grid(column=4, row=2, sticky=S)
Photo2Rbutton = ttk.Radiobutton(gui, text="Photo 2", variable=photofilepath,
value='C:/Users/Ben/Pictures/Photo 2.png')
Photo2Rbutton.grid(column=4, row=3)
root.mainloop()
提前感谢您的帮助。
【问题讨论】:
-
单选按钮不会(自动)执行
PhotoImage(...)来加载新图像,CalcButton[image] = photo不会执行按钮上的图像。 -
谢谢@furas 你也帮助我解决了我之前的问题。
-
我正在创建完整的工作示例,因为您的示例不起作用;)例如,您有未知变量
gui:)
标签: python python-3.x tkinter