Python tkinter之Radiobutton(单选)
1、Radiobutton的基本属性
# -*- encoding=utf-8 -*- import tkinter from tkinter import * def event(): print('选中的组件值为:{}'.format(value.get())) if __name__ == '__main__': win = tkinter.Tk() # 窗口 win.title('南风丶轻语') # 标题 screenwidth = win.winfo_screenwidth() # 屏幕宽度 screenheight = win.winfo_screenheight() # 屏幕高度 width = 500 height = 300 x = int((screenwidth - width) / 2) y = int((screenheight - height) / 2) win.geometry('{}x{}+{}+{}'.format(width, height, x, y)) # 大小以及位置 value = IntVar() value.set(0) # 不设置默认为0 radiobutton = Radiobutton( master=win, # 父容器 text='标签', # 文本 bg='yellow', # 背景颜色 fg='red', # 文本颜色 activebackground='pink', # 状态为active时的背景颜色 activeforeground='blue', # 状态为active的文字颜色 relief='flat', # 边框的3D样式 flat、sunken、raised、groove、ridge、solid。 bd=3, # 边框的大小 height=1, # 高度 width=10, # 宽度 padx=1, # 内间距,字体与边框的X距离 pady=1, # 内间距,字体与边框的Y距离 state='normal', # 设置状态 normal、active、 disabled cursor='arrow', # 鼠标移动时样式 arrow, circle, cross, plus... font=('黑体', 20), # 字体 value=1, # 默认value,选中后会传递给variable variable=value, # 通过IntVar设置1为选中,0为未选中 command=event, # 点击时的事件 ) radiobutton.pack() radiobutton = Radiobutton( master=win, # 父容器 text='标签', # 文本 bg='pink', # 背景颜色 fg='blue', # 文本颜色 activebackground='yellow', # 状态为active时的背景颜色 activeforeground='red', # 状态为active的文字颜色 relief='flat', # 边框的3D样式 flat、sunken、raised、groove、ridge、solid。 bd=3, # 边框的大小 height=1, # 高度 width=10, # 宽度 padx=1, # 内间距,字体与边框的X距离 pady=1, # 内间距,字体与边框的Y距离 state='normal', # 设置状态 normal、active、 disabled cursor='arrow', # 鼠标移动时样式 arrow, circle, cross, plus... font=('黑体', 20), # 字体 value=2, # 默认value,选中后会传递给variable variable=value, # 通过IntVar设置1为选中,0为未选中 command=event, # 点击时的事件 ) radiobutton.pack() radiobutton = Radiobutton( master=win, # 父容器 text='标签', # 文本 bg='yellow', # 背景颜色 fg='red', # 文本颜色 activebackground='pink', # 状态为active时的背景颜色 activeforeground='blue', # 状态为active的文字颜色 relief='flat', # 边框的3D样式 flat、sunken、raised、groove、ridge、solid。 bd=3, # 边框的大小 height=1, # 高度 width=10, # 宽度 padx=1, # 内间距,字体与边框的X距离 pady=1, # 内间距,字体与边框的Y距离 state='normal', # 设置状态 normal、active、 disabled cursor='arrow', # 鼠标移动时样式 arrow, circle, cross, plus... font=('黑体', 20), # 字体 value=3, # 默认value,选中后会传递给variable variable=value, # 通过IntVar设置1为选中,0为未选中 command=event, # 点击时的事件 ) radiobutton.pack() Label(win, textvariable=value, relief='g', width=10).pack(padx=20) # 用于显示value的值 win.mainloop()
备注:
①支持的字体(通过tkinter.font.families获取)https://www.cnblogs.com/rainbow-tan/p/14043822.html/
②鼠标样式选项
"arrow", "circle", "clock", "cross", "dotbox", "exchange", "fleur", "heart", "man", "mouse", "pirate", "plus","shuttle", "sizing", "spider", "spraycan", "star","target", "tcross", "trek", "watch"
③边框样式,组件状态阅览
2、分组的RadioButton
保证RadioButton不在同一个父元素下,则可以进行区分
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示