python 使用turtle实现实时钟表并生成exe

源代码

python引入两个内置库turtle和datetime即可制作一个实时钟表,代码如下:

# 用turtle画时钟
# 以自定义shape的方式实现
import turtle as t
import datetime as d

def skip(step):  # 抬笔,跳到一个地方
    t.penup()
    t.forward(step)
    t.pendown()

def drawClock(radius):  # 画表盘
    t.speed(0)
    t.mode("logo")  # 以Logo坐标、角度方式
    t.hideturtle()
    t.pensize(7)
    t.home()  # 回到圆点
    for j in range(60):
        skip(radius)
        if (j % 5 == 0):
            t.forward(20)
            skip(-radius - 20)
        else:
            t.dot(5)
            skip(-radius)
        t.right(6)

def makePoint(pointName, len):  # 钟的指针,时针、分针、秒针
    t.penup()
    t.home()
    t.begin_poly()
    t.back(0.1 * len)
    t.forward(len * 1.1)
    t.end_poly()
    poly = t.get_poly()
    t.register_shape(pointName, poly)  # 注册为一个shape

def drawPoint():  # 画指针
    global hourPoint, minPoint, secPoint, fontWriter
    makePoint("hourPoint", 100)
    makePoint("minPoint", 120)
    makePoint("secPoint", 140)
    hourPoint = t.Pen()  # 每个指针是一只新turtle
    hourPoint.shape("hourPoint")
    hourPoint.shapesize(1, 1, 6)
    minPoint = t.Pen()
    minPoint.shape("minPoint")
    minPoint.shapesize(1, 1, 4)
    secPoint = t.Pen()
    secPoint.shape("secPoint")
    secPoint.pencolor('red')
    fontWriter = t.Pen()
    fontWriter.pencolor('gray')
    fontWriter.hideturtle()

def getWeek(weekday):
    weekName = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']
    return weekName[weekday]

def getDate(year, month, day):
    return "%s-%s-%s" % (year, month, day)

def getRealtime():
    curr = d.datetime.now()
    curr_year = curr.year
    curr_month = curr.month
    curr_day = curr.day
    curr_hour = curr.hour
    curr_minute = curr.minute
    curr_second = curr.second
    curr_weekday = curr.weekday()
    t.tracer(False)
    secPoint.setheading(360 / 60 * curr_second)
    minPoint.setheading(360 / 60 * curr_minute)
    hourPoint.setheading(360 / 12 * curr_hour + 30 / 60 * curr_minute)
    fontWriter.clear()
    fontWriter.home()
    fontWriter.penup()
    fontWriter.forward(80)
    # 用turtle写文字
    fontWriter.write(getWeek(curr_weekday), align="center", font=("Courier", 14, "bold"))
    fontWriter.forward(-160)
    fontWriter.write(getDate(curr_year, curr_month, curr_day), align="center", font=("Courier", 14, "bold"))
    t.tracer(True)
    print(curr_second)
    t.ontimer(getRealtime, 1000)  # 每隔1000毫秒调用一次realTime()

def main():
    t.tracer(False)
    drawClock(160)
    drawPoint()
    getRealtime()
    t.tracer(True)
    t.mainloop()

if __name__ == '__main__':
    main()

引用模块:turtle,datetime

定义函数:

  • skip():重复指定动作
  • drawClock():画表盘
  • drawPoint():画指针
  • getWeek():显示星期
  • getDate():显示日期
  • getRealtime():显示实时时间
  • main():主函数

运行效果如下:

打包exe

也可打包为exe,这样在没有编译环境的情况下也可以运行(发给你的小伙伴展示一下你的技术,岂不美哉) 效果如下(不会打包看pyinstaller打包exe详细教程) 这里就不做演示了,直接上效果图

以上就是利用turtle库和datetime库制作实时钟表

到此这篇关于python 使用turtle实现实时钟表并生成exe的文章就介绍到这了,更多相关python 实时钟表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python turtle绘制多边形和跳跃和改变速度特效

    目录 一.绘制多边形 二.跳跃和改变速度特效 一.绘制多边形 代码如下: import turtle   turtle.setup(600, 500, ) polygon = turtle.Turtle() num_sides = 6 side_length = 120 angle = 360.0 / num_sides for i in range(num_sides):     polygon.forward(side_length)     polygon.right(angle)   t

  • python 详解turtle画爱心代码

    导语: 哈喽,在经历了过年相亲这一环节,成了是好事,不成也是多认识一个人,见见"世面",也可以"开拓"一下眼界,说不定遇到什么奇葩,以后跟朋友也有了茶余饭后的话题. 希望我们在这快餐时代里,都能遇到小火慢炖的粥~ 正文: 一直觉得turtle是个非常可爱的库,突发奇想,然后想试试传说中的土味表白:用python画一颗小爱心-- Google programming!启动! 确实有很多很多现成的代码,比如[1]: 画出来也很好看: 但左看右看,觉得背后的逻辑,比如fo

  • turtle的基础使用之python turtle递归绘图

    目录 1创建窗口 2.画笔移动 3.递归画图 1创建窗口 1 turtle.setup(width,height,startx,starty)设置主窗口的大小和位置, width如果是整数,则以像素为单位的大小,如果是浮点数,则屏幕的一部分:默认为屏幕的 50%. height 如果是整数,则以像素为单位的高度,如果是浮点数,则为屏幕的一部分:默认为屏幕的 75% startx 如果为正,则从屏幕左边缘开始以像素为单位,如果从右边缘为负,如果没有,则水平居中窗口 starty如果为正,则从屏幕上

  • Python中turtle绘图模块的详细讲解

    目录 前言 turtle基本概念 调出模块 引用turtle模块(库)方法 例.写字函数write()的使用 使用Python的turtle(海龟)模块画图步骤 总结 前言 turtle库是Python语言中一个很流行的绘制图像的函数库,可以轻松地绘制出精美的形状和图案,很适合用来引导孩子学习编程. turtle模块(module)是Python语言中的标准模块(内置模块)之一. [在Python中,模块也称作库(Library)] turtle基本概念 画布(canvas),turtle模块展

  • 用Python Turtle画棵樱花树送给自己

    目录 一. 绘制步骤 1. 环境安装 2. 图片美化 二. 技术学习 1. turtle 简介 2. turtle 绘图的基础知识 最近发生了很多事情,工作不开心,爱情无果而终,身边的小伙伴陆陆续续离职.虽然都不是会一下子击垮自己的事情,但是积攒起来,还是会有突然感到疲惫和倦怠的时候,有一种不知道下一步要走向哪里的无力感. 在这个城市留下了很多的回忆,但是身边的人一个个离开,走到现在,似乎没有太多留恋的了,也没想好未来要去哪里.自己是一个始终需要新鲜感的人,在这里停留了太久,大概到了该说再见的时

  • Python中turtle.write方法使用说明

    目录 turtle.write方法使用说明 例子 绘制一朵小花的例子 如何使用turtle.write方法将文字显示为一个圆圈? 总结 turtle.write方法使用说明 关于turtle可参见 Python的turtle模块:https://www.jb51.net/article/238830.htm turtle.write()方法 在当前乌龟位置写入文本.如: turtle.write("你好啊", align="center",font=("宋

  • 基于Python中的turtle绘画星星和星空

    目录 前言: 一.画一个N边形 二.画五角星 三.一闪一闪亮晶晶 前言: Python 中的画图工具——turtle(海龟绘图),turtle 是 Python 中自带的绘图模块,最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言. 使用 turtle 控制画笔在画板上画画.而这个画笔是有形状的,默认是一个小箭头,我们可以使用 turtle.shape('turtle') 将其设成一个小海龟.

  • Python中的turtle画箭头,矩形,五角星

    目录 一.画箭头 二.画正方形 三.画五角星 前言: Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形. 一.画箭头 #====================>>>>>>>>>>> 画箭头 import turtle  #导入turtle包以及所有的内部成员 turtle

  • Python+Turtle绘制航海王草帽路飞详解

    目录 一.程序运行 1.效果展示-轮廓描绘 2.效果展示-颜色填充 二.实现过程 1.绘图数据下载 2.海龟绘图配置项 3.轮廓绘制 4.颜色填充:衣服.裤子 5.颜色填充:草帽.腰带 6.完整源码 一.程序运行 1.效果展示 - 轮廓描绘 看轮廓描绘效果: 2.效果展示 - 颜色填充 衣服和裤子颜色填充效果: 二.实现过程 1.绘图数据下载 获取地址 内容预览: 2.海龟绘图配置项 降低刷新率可提升绘制速度,值越大刷新频率越低,速度越快 t.tracer(5000) def set_trutl

  • python 使用turtle实现实时钟表并生成exe

    源代码 python引入两个内置库turtle和datetime即可制作一个实时钟表,代码如下: # 用turtle画时钟 # 以自定义shape的方式实现 import turtle as t import datetime as d def skip(step): # 抬笔,跳到一个地方 t.penup() t.forward(step) t.pendown() def drawClock(radius): # 画表盘 t.speed(0) t.mode("logo") # 以Lo

  • python cv2读取rtsp实时码流按时生成连续视频文件方式

    我就废话不多说了,直接上代码吧! # coding: utf-8 import datetime import cv2 import os ip = '192.168.3.160'.replace(".", "_") rtsp = 'rtsp://admin:admin@192.168.3.160:554/1/1' # 初始化摄像头 cap = cv2.VideoCapture(rtsp) fourcc = cv2.VideoWriter_fourcc(*'XVID

  • Python日志无延迟实时写入的示例

    我在用python生成日志时,发现无论怎么flush(),文件内容总是不能实时写入,导致程序意外中断时一无所获. 以下是查到的解决方案(亲测可行): open 函数中有一个bufferin的参数,默认是-1,如果设置为0是,就是无缓冲模式. 但是用二进制模式打开这个文件,并且把要写入的信息转换byte -like如下. with open("test.txt",'wb',buffering=0) as f: #wb是写模式加二进制模式 f.write(b"hello!&quo

  • Python 用turtle实现用正方形画圆的例子

    最近发现一个很有意思的画图的python库,叫做turtle,这里先说下用turtle这个库来实现用正方形画圆的思路. 每次都用乌龟(turtle)来画出一个正方形,然后通过旋转3°后,继续画一样的正方形,在通过120次循环后就实现了完整的圆,这里当然也可以用其他的角度和次数,只要能完成360度就可以了. 先看完成的图形和代码. 代码如下: import turtle window = turtle.Screen() #设置好画图的基本参数 window.bgcolor("blue")

  • Python使用Turtle库绘制一棵西兰花

    Turtle库是Python中一个强大的绘制图像的函数库,灵活使用Turtle库可以绘制各种好看的图像. 下面介绍使用Turtle库绘制一棵西兰花. 绘制一棵西兰花,从主干出发以一定的角度向左向右生成对称的枝干,再从每个枝干出发向左向右生成对称的枝干,循环此动作,并最终绘制出一棵漂亮的西兰花. 首先导入Turtle库,并设置画笔大小.画笔速度及颜色,并隐藏画笔 from turtle import Turtle p=Turtle() p.pensize(5) p.color(clr) p.hid

  • python 实现turtle画图并导出图片格式的文件

    如下所示: from turtle import* import turtle setup(800,700,300,50) penup() seth(90) fd(100) seth(0) fd(-200) pendown() pensize(3) pencolor("black") seth(0) fd(210) seth(90) fd(20) seth(115) circle(120,129) seth(270) fd(20) seth(270) fd(15) seth(0) fd

  • 使用Python制作新型冠状病毒实时疫情图

    最近一周每天早上起来第一件事,就是打开新闻软件看疫情相关的新闻.了解下自己和亲友所在城市的确诊人数,但纯数字还是缺乏一个直观的概念.那我们来做一个吧. 至于数据,从各大网站的实时疫情页面就可以拿到.以某网站为例,用requests拿到html后,发现并没有数据.不要慌,那证明是个javascript渲染的页面,即使是javascript也是需要从后台取数据的.打开Chrome开发者工具,点开network,刷新页面,点击各个请求,肯定有一个是取json的. 注意这里的返回数据是包含在一个js变量

  • python使用Turtle库画画写名字

    目录 Turtle库是Python语言中一个很流行的绘制图像的函数库,利用这个库会生成一个画布,在画布中有我们看不见的一个默认以中心点为原点的坐标轴,在原点会有一个初始默认朝东的画笔(箭头),一般我们把这个箭头叫做海龟,箭头的朝向就是海龟头的朝向. 这个动图展示的就是我利用Turtle库画的一个名字画,下面附上代码: import time import turtle from random import random t = turtle t.speed(3) t.hideturtle() t

  • Python利用Turtle库绘制一颗樱花树

    后唐李煜曾说道,樱花落尽春将困,秋千架下归时.漏暗斜月迟迟,花在枝.樱花落尽的时候春天也将过去了,秋千架下归去时.天上的斜月姗姗来迟,花还在枝头. 关于python画图相关的,我们一直使用的是turtle来画,用专业的非标准库来做专业的事儿.将需要使用到的内置库或者非标准库全部都导入到当前的代码块中. from time import sleep # 用于控制程序运行时的阻塞停顿 from turtle import * # 绘图相关接口 import random # 生成随机数 设置全局需要

  • 零基础写python爬虫之打包生成exe文件

    1.下载pyinstaller并解压(可以去官网下载最新版): https://github.com/pyinstaller/pyinstaller/ 2.下载pywin32并安装(注意版本,我的是python2.7): https://pypi.python.org/pypi/pywin32 3.将项目文件放到pyinstaller文件夹下面(我的是baidu.py): 4.按住shift键右击,在当前路径打开命令提示行,输入以下内容(最后的是文件名): python pyinstaller.

随机推荐