学习笔记(52):Python实战编程-Radiobutton

立即学习:https://edu.csdn.net/course/play/19711/343115?utm_source=blogtoedu

单选钮:Radiobutton

 

1)相对于大部分组件而言,最大的区别在于单选钮绑定事件是直接通过构建单选钮时方法中的command参数来进行事件的绑定,而其他的组件一般都是通过bind函数来进行事件的绑定。

self.singlebutton = tkinter.Radiobutton(self.root,text = title,value = index,
                                                    command = self.singlebutton_handle_event,#通过command给单选钮绑定事件
                                                    variable = self.status)

2)单选钮在创建时得注意的是:含有两个值,一个是显示的文本值,一个是真正执行操作或者标记的值如下:

 self.sex = [("男",0),("女",1)]#设置单选钮要显示的值以及真实操作的值

3)要想给单选钮设置默认的选中项,则需要使用IntVar函数,该函数可以通过.set()来设置初始的索引,在创建单选钮的参数中使variable=.set()即可,也可以通过.get来获得当前选择项的索引

 self.status = tkinter.IntVar()#设置默认选项


self.status.set(0)

self.singlebutton = tkinter.Radiobutton(self.root,text = title,value = index,
                                                    command = self.singlebutton_handle_event,#通过command给单选钮绑定事件
                                                    variable = self.status)

index == self.status.get():

4)完整代码


import tkinter#导入创建窗体的相关模块
import os

image_path = r'C:\Users\jinlin\Desktop\python_further_study\GUI编程\resources'  + os.sep + 'linlianqin.gif'#因为每个平台的分隔符不一样,所以用os.sep可以自动切换到相应平台的分隔符

class Mainwindow():#创建窗口类
    def __init__(self):
        self.root = tkinter.Tk()#创建主体窗口
        self.root.title('linlianqin')#定义窗体的名字
        self.root.geometry('500x500')#定义窗体的初始大小
        self.root.maxsize(1200,1200)#设置窗口可以显示的最大尺寸
        self.single_button()
        self.root.mainloop()#显示窗口,这个代码一定要放在所有窗口设置的后面

    def single_button(self):#定义一个单选妞
        self.status = tkinter.IntVar()#设置默认选项
        self.label = tkinter.Label(self.root,text = "请选择您的性别:")
        self.label.grid(row = 0,column = 0)
        self.sex = [("男",0),("女",1)]#设置单选钮要显示的值以及真实操作的值
        self.status.set(0)
        self.column = 1
        for title,index in self.sex:
            self.singlebutton = tkinter.Radiobutton(self.root,text = title,value = index,
                                                    command = self.singlebutton_handle_event,#通过command给单选钮绑定事件
                                                    variable = self.status)
            self.singlebutton.grid(row = 0,column=self.column)
            self.column+=1

    def singlebutton_handle_event(self):#定义单选钮的处理事件
        self.content = tkinter.StringVar()
        self.label = tkinter.Label(self.root,textvariable = self.content)
        for title,index in self.sex:
            if index == self.status.get():
                self.content.set("您选择的性别是%s"%title)
        self.label.grid(row = 1,column = 0)



if __name__ == '__main__':
    Mainwindow()#将窗体类实例化

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有情怀的机械男

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值