mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-25684: ttk.OptionMenu radiobuttons weren't unique (#2276)
between instances of OptionMenu.
This commit is contained in:
parent
e8eb17b2c1
commit
a568e52733
3 changed files with 29 additions and 1 deletions
|
@ -291,6 +291,31 @@ class OptionMenuTest(AbstractTkTest, unittest.TestCase):
|
|||
|
||||
optmenu.destroy()
|
||||
|
||||
def test_unique_radiobuttons(self):
|
||||
# check that radiobuttons are unique across instances (bpo25684)
|
||||
items = ('a', 'b', 'c')
|
||||
default = 'a'
|
||||
optmenu = ttk.OptionMenu(self.root, self.textvar, default, *items)
|
||||
textvar2 = tkinter.StringVar(self.root)
|
||||
optmenu2 = ttk.OptionMenu(self.root, textvar2, default, *items)
|
||||
optmenu.pack()
|
||||
optmenu.wait_visibility()
|
||||
optmenu2.pack()
|
||||
optmenu2.wait_visibility()
|
||||
optmenu['menu'].invoke(1)
|
||||
optmenu2['menu'].invoke(2)
|
||||
optmenu_stringvar_name = optmenu['menu'].entrycget(0, 'variable')
|
||||
optmenu2_stringvar_name = optmenu2['menu'].entrycget(0, 'variable')
|
||||
self.assertNotEqual(optmenu_stringvar_name,
|
||||
optmenu2_stringvar_name)
|
||||
self.assertEqual(self.root.tk.globalgetvar(optmenu_stringvar_name),
|
||||
items[1])
|
||||
self.assertEqual(self.root.tk.globalgetvar(optmenu2_stringvar_name),
|
||||
items[2])
|
||||
|
||||
optmenu.destroy()
|
||||
optmenu2.destroy()
|
||||
|
||||
|
||||
tests_gui = (LabeledScaleTest, OptionMenuTest)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue