我目前正在尝试学习如何使用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()
在此先感谢您的帮助 .
1 回答
您可以在
Radiobutton
中使用command=
分配将加载新图像并将其放入标签的功能 .工作示例(您只需设置路径)