Python 如何在Tkinter中将单选按钮添加到子菜单

Python 如何在Tkinter中将单选按钮添加到子菜单,python,tkinter,radio-button,submenu,menubar,Python,Tkinter,Radio Button,Submenu,Menubar,我希望在GUI中名为“频道”的子菜单中有一组两个单选按钮“BBC”和“CNN”。 我试图使用add_radiobutton方法,但这些单选按钮显示在子菜单下,而我希望它们作为“频道”子菜单的属性,而不是“新闻”菜单的附加子菜单 您必须先创建一个子菜单,将单选按钮添加到其中,然后将其作为级联添加到主菜单中。然后,将该菜单添加到菜单栏 menuBar = tk.Menu(root) menu1 = tk.Menu(root) submenu = tk.Menu(root) submenu.add_r

我希望在GUI中名为“频道”的子菜单中有一组两个单选按钮“BBC”和“CNN”。 我试图使用
add_radiobutton
方法,但这些单选按钮显示在子菜单下,而我希望它们作为“频道”子菜单的属性,而不是“新闻”菜单的附加子菜单


您必须先创建一个子菜单,将单选按钮添加到其中,然后将其作为级联添加到主菜单中。然后,将该菜单添加到菜单栏

menuBar = tk.Menu(root)
menu1 = tk.Menu(root)
submenu = tk.Menu(root)
submenu.add_radiobutton(label="Option 1")
submenu.add_radiobutton(label="Option 2")

menuBar.add_cascade(label="Menu 1", menu=menu1)
menu1.add_cascade(label="Subemnu with radio buttons", menu=submenu)
完整工作示例:

import tkinter as tk

root = tk.Tk()

menuBar = tk.Menu(root)
menu1 = tk.Menu(root)
submenu = tk.Menu(root)
submenu.add_radiobutton(label="Option 1")
submenu.add_radiobutton(label="Option 2")

menuBar.add_cascade(label="Menu 1", menu=menu1)
menu1.add_cascade(label="Subemnu with radio buttons", menu=submenu)

root.config(menu=menuBar)
root.mainloop()
您可能需要向单选按钮添加一些属性。 更完整的表格是:

add_radiobutton(label="Option 1", value=1, variable=optionVar, command=on_option_1)
其中:

  • 标签
    是菜单中显示的文本
  • variable
    是一个
    tk.variable
    实例,通常是
    IntVar
    StringVar
  • 是选择该选项时设置为
    变量
    的值
  • 命令
    是选择该选项时要运行的回调

您是否希望菜单弹出到
频道的右侧,并将选项BBC、CNN作为侧菜单?正是在右侧。您正在明确地将它们添加到文件菜单中。你为什么希望他们出现在别的地方?您是否尝试过将它们添加到您希望它们出现的菜单中?按预期工作,但我的下划线不工作,可以建议任何程序来解决此问题。谢谢you@Right腿部:在提供属性“变量”后,用户选项选择转到多个选择,而只需要选择一个选项。
add_radiobutton(label="Option 1", value=1, variable=optionVar, command=on_option_1)