tkinter中默认选择单选按钮

时间:2017-01-26 11:07:08

标签: python tkinter

我有以下代码。预期的行为是在一组单选按钮中设置默认选项。我在其他地方使用了非常相似的代码并且它有效,但在这种情况下,最后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")

1 个答案:

答案 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")