文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用Python tkinter库绘图

2023-06-29 23:45

关注

这篇文章主要讲解了“怎么用Python tkinter库绘图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python tkinter库绘图”吧!

一、小房子绘制

实例代码:

# coding=utf-8import tkinter as tk      # 导入tkinter模块 root = tk.Tk()            # 创建一个顶级窗口root.title('小房子1')     # 设置标题canvas = tk.Canvas(root, bg='white', width=700, height=700)   # 在root窗口上创建画布canvas,白色背景,宽和高均为700像素canvas.pack(anchor='center')   # canvas在root上居中显示 points = [(50, 250), (350, 50), (650, 250)]   # 三角形顶点坐标位置canvas.create_polygon(points, fill='gray', outline='black', width=10)   # 白色填充,红色线条,线宽为10canvas.create_rectangle((200, 250, 500, 550),                        fill='white', outline='black', width=10)     # 绘制矩形,白色填充,绿色线条,线宽为10canvas.create_oval((250, 300, 450, 500),                   fill='purple', outline='black', width=10)    # 绘制圆形,黄色填充,黄色线条,线宽为10 root.mainloop()   # 进入消息循环

运行结果:

怎么用Python tkinter库绘图

二、彩色气泡动画绘制

实例代码:

#coding=utf-8import tkinter as tkimport random as rdimport time# 全局变量,全部为list对象# 分别为:x方向速度,y方向速度,半径,位置,图形标记speedXList, speedYList, rList, posList, idList = [], [], [], [], []# 可选的颜色colorList = ['pink', 'gold', 'lightblue', 'lightgreen', 'silver']# 画布的宽度、高度,以及图形个数width, height, num = 400, 400, 5root = tk.Tk()# 创建和布局画布canvas = tk.Canvas(root, width=width, height=height, background='white')canvas.pack() for i in range(num):    # 随机产生图形初始位置    x = rd.randint(100, width - 100)    y = rd.randint(100, height - 100)    # 添加到图形位置列表    posList.append((x, y))    # 随机产生半径,并添加到半径列表    r = rd.randint(20, 50)    rList.append(r)    # 随机选取一种颜色    color = rd.sample(colorList, 1)    # 创建一个椭圆/圆,用选定的颜色填充    id = canvas.create_oval(x - r, y - r, x + r, y + r,                            fill=color, outline=color)    # 保存图形标识    idList.append(id)# 设置随机的移动速度,并保存    speedXList.append(rd.randint(-10, 10))    speedYList.append(rd.randint(-10, 10)) while True:    for i in range(num):        # 图形当前所在位置        item = posList[i]        r = rList[i]         # 如果x位置超过边界,则改编x速度方向        if item[0] - r < 0 or item[0] + r > width:            speedXList[i] = -speedXList[i]        # 如果y位置超过边界,则改编y速度方向        if item[1] - r < 0 or item[1] + r > height:            speedYList[i] = -speedYList[i]        # 按照当前的速度计算下新的位置        posList[i] = (item[0] + speedXList[i], item[1] + speedYList[i])        x, y = posList[i][0], posList[i][1]        # 移动到新的位置        canvas.coords(idList[i], (x - r, y - r, x + r, y + r))        # 刷新画面        canvas.update()    # 等待0.1秒,即每秒钟更新10帧,形成动画    time.sleep(0.1)

运行结果:

怎么用Python tkinter库绘图

怎么用Python tkinter库绘图

三、画布创建

实例代码:

import tkinter as tk           # 导入tkinter库,并重命名为tkmywindow = tk.Tk()             # 创建一个窗体mywindow.title("我是一个画布")      # 设置窗体的标题mycanvas = tk.Canvas(mywindow, width=400, height=300, bg="purple")  # 创建画布并布局 mycanvas.pack()mywindow.mainloop()      # 显示画布

运行结果:

怎么用Python tkinter库绘图

感谢各位的阅读,以上就是“怎么用Python tkinter库绘图”的内容了,经过本文的学习后,相信大家对怎么用Python tkinter库绘图这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯