zoukankan      html  css  js  c++  java
  • python开发_tkinter_获取单选菜单值

    在之前的blog中有提到python的tkinter中的菜单操作

    python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐

    python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐(二)

    python开发_tkinter_菜单选项中英文切换_菜单选项不可用操作_博主推荐

    python开发_tkinter_复选菜单

    python开发_tkinter_单选菜单_不可用菜单操作

    python开发_tkinter_多级子菜单

    下面是tkinter的获取单选菜单值的操作

    运行效果:

    当点击'print party and flavor'按钮的时候,获取单选菜单的值

    ==========================================================

    代码部分:

    ==========================================================

      1 from tkinter import *
      2 
      3 #       The way to think about this is that each radio button menu
      4 #       controls a different variable -- clicking on one of the
      5 #       mutually exclusive choices in a radiobutton assigns some value
      6 #       to an application variable you provide. When you define a
      7 #       radiobutton menu choice, you have the option of specifying the
      8 #       name of a varaible and value to assign to that variable when
      9 #       that choice is selected. This clever mechanism relieves you,
     10 #       the programmer, from having to write a dumb callback that
     11 #       probably wouldn't have done anything more than an assignment
     12 #       anyway. The Tkinter options for this follow their Tk
     13 #       counterparts:
     14 #       {"variable" : my_flavor_variable, "value" : "strawberry"}
     15 #       where my_flavor_variable is an instance of one of the
     16 #       subclasses of Variable, provided in Tkinter.py (there is
     17 #       StringVar(), IntVar(), DoubleVar() and BooleanVar() to choose
     18 #       from)
     19 
     20 __author__ = {'name' : 'Hongten',
     21               'mail' : 'hongtenzone@foxmail.com',
     22               'blog' : 'http://www.cnblogs.com/',
     23               'QQ': '648719819',
     24               'created' : '2013-09-11'}
     25 
     26 def makePoliticalParties(var):
     27     # make menu button
     28     Radiobutton_button = Menubutton(mBar, text='Political Party',
     29                                     underline=0)
     30     Radiobutton_button.pack(side=LEFT, padx='2m')
     31 
     32     # the primary pulldown
     33     Radiobutton_button.menu = Menu(Radiobutton_button)
     34 
     35     Radiobutton_button.menu.add_radiobutton(label='Republican',
     36                                             variable=var, value=1)
     37 
     38     Radiobutton_button.menu.add('radiobutton', {'label': 'Democrat',
     39                                                 'variable' : var,
     40                                                 'value' : 2})
     41 
     42     Radiobutton_button.menu.add('radiobutton', {'label': 'Libertarian',
     43                                                 'variable' : var,
     44                                                 'value' : 3})
     45 
     46     var.set(2)
     47 
     48     # set up a pointer from the file menubutton back to the file menu
     49     Radiobutton_button['menu'] = Radiobutton_button.menu
     50 
     51     return Radiobutton_button
     52 
     53 
     54 def makeFlavors(var):
     55     # make menu button
     56     Radiobutton_button = Menubutton(mBar, text='Flavors',
     57                                     underline=0)
     58     Radiobutton_button.pack(side=LEFT, padx='2m')
     59 
     60     # the primary pulldown
     61     Radiobutton_button.menu = Menu(Radiobutton_button)
     62 
     63     Radiobutton_button.menu.add_radiobutton(label='Strawberry',
     64                                             variable=var, value='Strawberry')
     65 
     66     Radiobutton_button.menu.add_radiobutton(label='Chocolate',
     67                                             variable=var, value='Chocolate')
     68 
     69     Radiobutton_button.menu.add_radiobutton(label='Rocky Road',
     70                                             variable=var, value='Rocky Road')
     71 
     72     # choose a default
     73     var.set("Chocolate")
     74 
     75     # set up a pointer from the file menubutton back to the file menu
     76     Radiobutton_button['menu'] = Radiobutton_button.menu
     77 
     78     return Radiobutton_button
     79 
     80 
     81 def printStuff():
     82     print("party is", party.get())
     83     print("flavor is", flavor.get())
     84     print()
     85 
     86 #################################################
     87 #### Main starts here ...
     88 root = Tk()
     89 
     90 
     91 # make a menu bar
     92 mBar = Frame(root, relief=RAISED, borderwidth=2)
     93 mBar.pack(fill=X)
     94 
     95 # make two application variables,
     96 # one to control each radio button set
     97 party = IntVar()
     98 flavor = StringVar()
     99 
    100 Radiobutton_button = makePoliticalParties(party)
    101 Radiobutton_button2 = makeFlavors(flavor)
    102 
    103 # finally, install the buttons in the menu bar.
    104 # This allows for scanning from one menubutton to the next.
    105 mBar.tk_menuBar(Radiobutton_button, Radiobutton_button2)
    106 
    107 b = Button(root, text="print party and flavor", foreground="red",
    108            command=printStuff)
    109 b.pack(side=TOP)
    110 
    111 root.title('menu demo')
    112 root.iconname('menu demo')
    113 
    114 root.mainloop()

    参考资料:

    http://www.oschina.net/code/explore/Python-3.1.3/Demo/tkinter/matt/two-radio-groups.py

  • 相关阅读:
    STM32寄存器的简介、地址查找,与直接操作寄存器
    SPI初始化寄存器配置
    docker 命令
    SpringBoot接口格式和规范
    算法
    RabbitMQ
    UML概念
    activeMQ和JMS
    设计模式七大原则
    redis缓存
  • 原文地址:https://www.cnblogs.com/hongten/p/hongten_python_tkinter_radio.html
Copyright © 2011-2022 走看看