我有以下代码。预期的行为是在一组单选按钮中设置默认选项。我在其他地方使用了非常相似的代码并且它有效,但在这种情况下,最后3个选项都显示为已选中。我是tkinter的新手,不能为我的生活看到我出错的地方。任何帮助非常感谢。
charttypevar=StringVar()
chart_type_1 = ttk.Radiobutton(chart_type_frame, text="3d with catagories",variable=charttypevar,value='3d with catagories')#
chart_type_2 = ttk.Radiobutton(chart_type_frame, text="3d no catagories",variable=charttypevar,value='3d no catagories')#
chart_type_3 = ttk.Radiobutton(chart_type_frame, text="3d relief plot", variable=charttypevar, value='3d relief plot') #
chart_type_4=ttk.Radiobutton(chart_type_frame,text="Not yet defined",variable=charttypevar,value="Not yet defined")
charttypevar.set('Not yet defined') # intended to be set as default
chart_type_1.grid(column=0,row=1,sticky="W")
chart_type_2.grid(column=0,row=2,sticky="W")
chart_type_3.grid(column=0,row=3,sticky="W")
chart_type_4.grid(column=0,row=4,sticky="W")
答案 0 :(得分:0)
您没有分享完成的代码。然而,这解决了你的问题。什么是" ttk"?如果您将tkinter导入为" ttk"为什么不在定义stringvar时使用它呢?
import tkinter as ttk
chart_type_frame=Tk()
charttypevar=ttk.StringVar()
chart_type_1 = ttk.Radiobutton(chart_type_frame, text="3d with catagories",variable=charttypevar,value='3d with catagories')#
chart_type_2 = ttk.Radiobutton(chart_type_frame, text="3d no catagories",variable=charttypevar,value='3d no catagories')#
chart_type_3 = ttk.Radiobutton(chart_type_frame, text="3d relief plot", variable=charttypevar, value='3d relief plot') #
chart_type_4=ttk.Radiobutton(chart_type_frame,text="Not yet defined",variable=charttypevar,value="Not yet defined")
charttypevar.set('Not yet defined') # intended to be set as default
chart_type_1.grid(column=0,row=1,sticky="W")
chart_type_2.grid(column=0,row=2,sticky="W")
chart_type_3.grid(column=0,row=3,sticky="W")
chart_type_4.grid(column=0,row=4,sticky="W")