python,根据tkinter计数器案例,写了个倒计时器

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: 笔记

前言:


       最近偶尔有空抽出时间来学习python的GUI,又看到了尾大不掉的tkinter,然后CSDN官方也把它地位拉的很高。然后给出了这几点理由。


1、kinter有一个与生俱来的优势:无需安装就可以直接使用

2、相较于wx或Qt多如牛毛的控件和组件,Tk只用十几个控件就可以满足几乎所有的应用需求

7.png

  其实确实简单,有基础的同学,大概花个1小时就又能融会贯通了。哈哈哈,话不多说,进入正题,来说说今天的计数器和倒计时器是怎么反转的。


一、案例计数器


       还是使用我们的3点定位法,效果图+代码+解析来唠唠哈。


1、效果图

       就是一个按钮加上一个会动的数字,你每次点击按钮就会加1,默认从0开始。真是简单粗暴~

8.png

2、代码

from tkinter import *
class MyApp(Tk):
    """继承Tk,创建自己的桌面应用程序类"""
    def __init__(self):
        """构造函数"""
        super().__init__()
        self.title('按钮点击计数器')
        self.geometry('320x160')
        #self.iconbitmap('res/Tk.ico')#图标,如果不想用默认图标就改了它
        self.counter = IntVar()  # 创建一个整型变量对象
        self.counter.set(0)  # 置其初值为0
        label = Label(self, textvariable=self.counter, font=("Arial Bold", 50))  # 将Label和整型变量对象关联
        label.pack(side='left', expand='yes', fill='both', padx=5, pady=5)
        btn = Button(self, text='点我试试看', bg='#90F0F0')
        btn.pack(side='right', anchor='center', fill='y', padx=5, pady=5)
        btn.bind(sequence='<Button-1>', func=self.on_button)  # 绑定事件和事件函数
    def on_button(self, evt):
        """点击按钮事件的响应函数, evt是事件对象"""
        self.counter.set(self.counter.get() + 1)
if __name__ == '__main__':
    app = MyApp()
    app.mainloop()

3、解析

9.png

二、调优后效果


1、效果图

       可以自定义初始值,按你想去的楼层步步高升,哈哈哈

10.png

2、代码

from tkinter import  *
import time
class MyApp(Tk):
    def __init__(self):
        super().__init__()
        self.title('这是一个计数器')#设置标题
        self.geometry('380x160')#设置画布大小
        self.iconbitmap('res\Tk.ico')#设置应用图标
        self.count_num=IntVar()#创建一个Intvar变量
        self.count_num.set(a)#初始化计数器为输入的倒计时数
        lable=Label(self,textvariable=self.count_num,font=('Arial Bold',50))
        lable.pack(side='left',padx=5,pady=5,fill='both',expand='yes')
        bth=Button(self,text='你点点看',bg='#1AA7Ec',fg='white')
        bth.pack(side='right',pady=5,ipadx=5,fill='y',anchor='center')
        bth.bind(sequence='<Button-1>',func=self.button_on)
    def button_on(self,evt):
            self.count_num.set(self.count_num.get()+1)
            #time.sleep(2)
            #self.destroy()
if __name__=='__main__':
    a = int(input("请输入计数器的初始值:"))#定义全局变量a,用于保存计数
    app=MyApp()
    app.mainloop()


3、解析


11.png12.png

变装为倒计时器


1、效果

13.png

14.png15.png16.png

2、代码

from tkinter import  *
import time
class MyApp(Tk):
    def __init__(self):
        super().__init__()
        self.title('这是一个倒计时器')#设置标题
        self.geometry('480x160')#设置画布大小
        self.iconbitmap('res\Tk.ico')#设置应用图标
        self.count_num=IntVar()#创建一个Intvar变量
        self.count_num.set(a)#初始化计数器为输入的倒计时数
        lable=Label(self,textvariable=self.count_num,font=('Arial Bold',50))
        lable.pack(side='left',padx=5,pady=5,fill='both',expand='yes')
        bth=Button(self,text='你点点看',bg='#1AA7Ec',fg='white')
        bth.pack(side='right',pady=5,ipadx=5,fill='y',anchor='center')
        bth.bind(sequence='<Button-1>',func=self.button_on)#Button-1为鼠标左键单击事件
    def button_on(self,evt):
        global a
        if a>0:
            self.count_num.set(self.count_num.get()-1)
            print(a)
            a=a-1
        else:
            self.count_num.set('倒计时结束')
            print('倒计时结束!!')
            #self.sleep()
            #self.destroy()
if __name__=='__main__':
    a = int(input("请输入倒计时的数字:"))#定义全局变量a,用于保存计时数
    app=MyApp()
    app.mainloop()

3、解析

       上面计数器都是每次加1,我想当然也能每次减1了,比如我们比赛,放PPT开场的时候都会用到倒计时器,计数器好像可以用来较崽崽,学习1-100,学会1,然后点一下教他学2。修改后的关键代码在button_on函数中。记得在引用全局变量a的时候记得,加上global。


四、总结


       好的,今天分享就到这里,我们在学习的时候,可以举一反三,这样我们就会觉得学习突然有趣了起来,希望日进尺步,步步高。祝好,有不懂的欢迎留言讨论。或者直接私信我~18.jpeg


相关文章
|
4天前
|
Python
Python的编辑工具-Jupyter notebook实战案例
这篇博客介绍了Jupyter Notebook的安装和使用方法,包括如何在本地安装Jupyter、启动和使用Jupyter Notebook进行编程、文档编写和数据分析,以及如何执行和管理代码单元(Cell)的快捷键操作。
15 4
Python的编辑工具-Jupyter notebook实战案例
|
3天前
|
数据挖掘 数据处理 Python
python如何高效处理excel图表案例分享
python如何高效处理excel图表案例分享
16 2
|
9天前
|
大数据 机器人 数据挖掘
这个云ETL工具配合Python轻松实现大数据集分析,附案例
这个云ETL工具配合Python轻松实现大数据集分析,附案例
|
10天前
|
Python
Python一行代码能做什么,30个实用案例代码详解
Python一行代码能做什么,30个实用案例代码详解
|
16天前
|
存储 Python
【编程神技】Python函数修炼秘籍:从菜鸟到高手只需这几个案例!
【8月更文挑战第22天】Python函数是组织与重用代码的关键,通过定义与调用函数可以使程序更加清晰。例如,定义`add_numbers(a, b)`来计算两数之和,或使用递归来定义`factorial(n)`计算阶乘。Python还支持可变参数列表如`sum_numbers(*args)`以及带有默认值的关键字参数如`greet(name, greeting=&quot;Hello&quot;)`,这些特性让函数更加灵活强大。掌握这些技巧能显著提升编程效率与代码质量。
11 2
|
26天前
|
Python
python tkinter 实现简易秒表计时器
python tkinter 实现简易秒表计时器
32 1
|
28天前
|
数据可视化 文件存储 Python
【python】python基于tkinter的学生成绩管理系统(源码+数据文件)【独一无二】(二)
【python】python基于tkinter的学生成绩管理系统(源码+数据文件)【独一无二】(二)
|
30天前
|
数据采集 存储 自然语言处理
【优秀python案例】基于百度贴吧的数据采集与文本分析设计与实现
本文介绍了百度贴吧数据采集与文本分析的设计与实现,包括自动化采集帖子数据、进行情感分析和主题分析,以及使用可视化技术展示分析结果。
|
29天前
|
存储 数据可视化 Python
【python】python tkinter 计算器GUI版本(模仿windows计算器 源码)【独一无二】
【python】python tkinter 计算器GUI版本(模仿windows计算器 源码)【独一无二】
|
30天前
|
数据可视化 Serverless 数据处理
【优秀python案例】基于python因子分析关于城市发展差异分析中的应用与实现
本文利用Python进行因子分析,揭示了影响中国东西部地区发展差异的关键因素,为促进区域均衡发展和协调增长提供了科学依据。
【优秀python案例】基于python因子分析关于城市发展差异分析中的应用与实现
下一篇
DDNS