前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tkinter教程(每天半小时,3天彻底掌握Tkinter)day3

Tkinter教程(每天半小时,3天彻底掌握Tkinter)day3

作者头像
红目香薰
发布2022-11-30 19:32:00
1.1K0
发布2022-11-30 19:32:00
举报
文章被收录于专栏:CSDNToQQCode

Tkinter教程(每天半小时,3天彻底掌握Tkinter)day3


目录

Tkinter教程(每天半小时,3天彻底掌握Tkinter)day3

教程环境

Combobox控件

Tkinter单选框Radiobutton

Tkinter复选框Checkbutton

python进度条

总结


教程环境

运行系统:win10 开发工具:PyCharm Community Edition 2021.3.1 

Combobox控件

下拉菜单需要单独引包

代码语言:javascript
复制
from tkinter import ttk

使用方法

代码语言:javascript
复制
combox = ttk.Combobox(win)
combox['value'] = ('功能1', '功能2', '功能3', '功能4', '功能5')
combox.current(0)
combox.grid(row=7, column=0)
# 获取combox的选取值
def func():
    out_text.insert(INSERT, combox.get())


Button(win, text="获取combox值", command=func).grid(row=9, column=0)

我们可以根据获取到的combox值进行做具体的判断,我这里直接combox.get()获取了,判断完成根据对应的选项执行对应函数即可。

Tkinter单选框Radiobutton

代码语言:javascript
复制
# 整数类型的变量
v = IntVar()


def funcRadio():
    out_text.insert(INSERT, v.get())


Radiobutton(win, text="基础面板拼接1", fg='blue', font=('黑体', '12', 'bold'), variable=v, value=0, command=funcRadio,
            indicatoron=False).grid(row=10, column=0)
Radiobutton(win, text="基础面板拼接2", fg='blue', font=('黑体', '12', 'bold'), variable=v, value=1, command=funcRadio,
            indicatoron=False).grid(row=10, column=1)
Radiobutton(win, text="基础面板拼接3", fg='blue', font=('黑体', '12', 'bold'), variable=v, value=2, command=funcRadio,
            indicatoron=False).grid(row=10, column=2)
Radiobutton(win, text="基础面板拼接4", fg='blue', font=('黑体', '12', 'bold'), variable=v, value=3, command=funcRadio,
            indicatoron=False).grid(row=10, column=3)

这里我采用的数字value与combox一样,根据选项进行功能的使用即可,单选按钮这里显示的是按钮样式,功能是一样的没有区别,就是有两个状态,一个是按下,一个是取消。 

Tkinter复选框Checkbutton

代码语言:javascript
复制
# 新建整型变量
CheckVar1 = IntVar()
CheckVar2 = IntVar()
CheckVar3 = IntVar()


# 获取check值
def funcChick():
    if (CheckVar1.get() == 0 and CheckVar2.get() == 0 and CheckVar3.get() == 0):
        s = '没选功能'
    else:
        s1 = "富贵祥和" if CheckVar1.get() == 1 else ""
        s2 = "康寿百年" if CheckVar2.get() == 1 else ""
        s3 = "温馨和煦" if CheckVar3.get() == 1 else ""
        s = "您选择了%s %s %s" % (s1, s2, s3)
    out_text.insert(INSERT, s)


# 设置三个复选框控件,使用variable参数来接收变量
Checkbutton(win, text="富贵祥和", font=('雅黑', 15, 'bold'), variable=CheckVar1, onvalue=1, offvalue=0, command=funcChick,
            indicatoron=False).grid(row=12, column=0)
Checkbutton(win, text="康寿百年", font=('雅黑', 15, 'bold'), variable=CheckVar2, onvalue=1, offvalue=0, command=funcChick,
            indicatoron=False).grid(row=12, column=1)
Checkbutton(win, text="温馨和煦", font=('雅黑', 15, 'bold'), variable=CheckVar3, onvalue=1, offvalue=0, command=funcChick,
            indicatoron=False).grid(row=12, column=2)

复选框也是有按上和按下两个状态,也就是0与1的替换,注意判断数值即可对功能进行处理。

python进度条

进度条。这里会随时更改面板样式需要添加一个win.update()

代码语言:javascript
复制
def funcPprogressgoto():
    from time import sleep
    for i in range(0, 90):
        sleep(0.02)
        pro["value"] += 1
        win.update()


Button(win, text='测试进度条', command=funcPprogressgoto).grid(row=13, column=0)

pro = ttk.Progressbar(win, length=200, cursor='spider',
                      mode="determinate",
                      orient=HORIZONTAL)
pro.grid(row=13, column=1)

这里不一定需要给多线程,如果看情况,如果执行内容过多依然需要使用多线程处理,否则占用主线程将无法正常执行其它程序。 

具体布局看功能需求啊,我挨个往下排序列比较麻烦我就没改。

总结

如果你能跟着敲到这里基本就差不多了,基础的样式肯定能拼接,咱们一做一般的程序功能肯定是够用了的。

所有的布局都可以采用grid的方式进行布局,可能会有些不太好看,但是在功能上基本上我们能搞定所有内容了,这里我没有搞listbox因为使用text很多时候更方便。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Tkinter教程(每天半小时,3天彻底掌握Tkinter)day3
  • 教程环境
    • Combobox控件
      • Tkinter单选框Radiobutton
        • Tkinter复选框Checkbutton
          • python进度条
            • 总结
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档