arguments passed by keyword.
(Contributed by Zhikang Yan in :gh:`126899`.)
+* Add ability to specify name for :class:`!tkinter.OptionMenu` and
+ :class:`!tkinter.ttk.OptionMenu`.
+ (Contributed by Zhikang Yan in :gh:`130482`.)
turtle
------
with self.assertRaisesRegex(TclError, r"^unknown option -image$"):
tkinter.OptionMenu(self.root, None, 'b', image='')
+ def test_specify_name(self):
+ widget = tkinter.OptionMenu(self.root, None, ':)', name="option_menu")
+ self.assertEqual(str(widget), ".option_menu")
+ self.assertIs(self.root.children["option_menu"], widget)
+
@add_configure_tests(IntegerSizeTests, StandardOptionsTests)
class EntryTest(AbstractWidgetTest, unittest.TestCase):
_rounds_pixels = (tk_version < (9, 0))
textvar.trace_remove("write", cb_name)
optmenu.destroy()
+ def test_specify_name(self):
+ textvar = tkinter.StringVar(self.root)
+ widget = ttk.OptionMenu(self.root, textvar, ":)", name="option_menu_ex")
+ self.assertEqual(str(widget), ".option_menu_ex")
+ self.assertIs(self.root.children["option_menu_ex"], widget)
+
class DefaultRootTest(AbstractDefaultRootTest, unittest.TestCase):
keyword argument command."""
kw = {"borderwidth": 2, "textvariable": variable,
"indicatoron": 1, "relief": RAISED, "anchor": "c",
- "highlightthickness": 2}
+ "highlightthickness": 2, "name": kwargs.pop("name", None)}
Widget.__init__(self, master, "menubutton", kw)
self.widgetName = 'tk_optionMenu'
menu = self.__menu = Menu(self, name="menu", tearoff=0)
A callback that will be invoked after selecting an item.
"""
kw = {'textvariable': variable, 'style': kwargs.pop('style', None),
- 'direction': kwargs.pop('direction', None)}
+ 'direction': kwargs.pop('direction', None),
+ 'name': kwargs.pop('name', None)}
Menubutton.__init__(self, master, **kw)
self['menu'] = tkinter.Menu(self, tearoff=False)
--- /dev/null
+Add ability to specify name for :class:`!tkinter.OptionMenu` and\r
+:class:`!tkinter.ttk.OptionMenu`.