Python-tkinter7:一个简单的tkinter(canvas)_tkinter绘制向下大于号_0x001的博客-程序员宅基地

技术标签: canvas  Python3  Python  

示例代码:

import tkinter as tk 

# 1.创建窗口
window = tk.Tk()
# 2.设置窗口属性
window.geometry("500x500")
window.title('my-window')

# 3.设置组件
# 3.1 canvas 画布
# 参数:height:高;width:宽(二者的单位都是px)
canvas = tk.Canvas(window, bg='blue', height=400, width=500)
# 3.1.1在canvas中加入一个图片
# !!视频中up主说,他的tkinter只支持gif(可能要根据具体情况来定)
# 亲测:我的也是这样(此处留问题,待解决)
img_file = tk.PhotoImage(file='img.gif') 
#参数: 0,0:左上角坐标
#      anchor:铆钉:NW:左上角、N:正上、NE:右上角、W:左、CENTER:正中、E:右、SW:左下角、S:正下、SE:右下角
#      (铆钉处留问题:实际和up主讲的有出入)
image = canvas.create_image(0, 0, anchor='nw', image=img_file) # 将要加载的图片放到canvas里
# 3.1.2 加点图形
x0, y0, x1, y1 = 50, 50, 80, 80
#加条线
line = canvas.create_line(x0, y0, x1, y1)
#加个圆
oval = canvas.create_oval(x0, y0, x1, y1, fill='red')
#加个扇形
# 从start打开,一直打开到extent(从0度打开,一直打到180度)
arc = canvas.create_arc(x0+30, y0+20, x1+30, y1+30, start=0, extent=180)
#加个正方形
rect = canvas.create_rectangle(100, 30, 100+20, 30+20)
canvas.pack()

def moveit():
    canvas.move(rect, 0, 2) # canvas图层里的移动其中的rect,每次移动x=0,y=2(即,每次向下移动2px)

# 3.2 button 按钮
# 实现功能:点击按钮实现图中的正方形向下移动
b = tk.Button(window, text='move', command=moveit) 
b.pack()

# 4.运行窗口
window.mainloop()

效果:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bluebloodye/article/details/102136754

智能推荐

Leetcode算法题_佳佳乐2503的博客-程序员宅基地

反转链表 反转一个单链表。输入: 1->2->3->4->5输出: 5->4->3->2->1解法1:迭代,重复某一过程,每一次处理结果作为下一次处理的初始值,这些初始值类似于状态、每次处理都会改变状态、直至到达最终状态从前往后遍历链表,将当前节点的next指向上一个节点,因此需要一个变量存储上一个节点prev,当前节点处理...

Kafka-0.8.2.x Consumer API_kafka 0.8 client consumer_迷路剑客的博客-程序员宅基地

Kafka-0.8.2.x Consumer API摘要本文主要说下此版本消费者API重要的一些代码含义。0x01 完整例子1.1 Consumer消费代码class ConsumerTest implements Runnable { private KafkaStream m_stream; private int m_threadNumber; publ..._kafka 0.8 client consumer

个人K8S运维常用命令_rbdgz_leadersnowy的博客-程序员宅基地

1.从镜像里拷贝文件 /usr/bin/docker run --rm -v /root:/temp image /bin/cp -f /xxx.tar.gz /temp/xxx.tar.gz2.rbd status命令提示没有ceph.conf rbd status test-data/kubernetes-dynamic-pvc-23922029-3f95-4b6b-a6fa-f8f77abb28c7 --user admin -m 10.10.18.65:6789 --keyfile /ro_rbdgz

全网首发:全新Android UI 开发框架《 Jetpack compose项目实战手册》_Android-海绵的博客-程序员宅基地

前言Jetpack Compose大家都不陌生了,它是Google推出的一个新的UI工具包,旨在帮助开发者更快、更轻松地在Android 平台上构建Native应用。Jetpack compose提供了现代化的声明式Kotlin API(取代Android 传统的xml布局),可帮助开发者用更少的代码构建美观、响应迅速的应用程序。自2019年Google IO 宣布发布Compose 以来,备受Android 开发者的关注,我也在一直关注Compose的发展,并且一直看好它在原生Android开发上的应用_android ui 开发框架

802.11ax分析2---OFDMA-based Hybrid Channel Access for IEEE 802.11ax WLAN_802.11ax帧结构_凉冰难消一腔热血的博客-程序员宅基地

本文源自Jorden作者的OFDMA-based Hybrid Channel Access for IEEE 802.11ax WLAN论文,我在这里进行了翻译整理。因为自己现在在学习Wifi6,所以进行整理!如有错误或理解不到的地方,请多多谅解!最近,IEEE 802.11启动了一个任务组802.11ax,为密集的环境研究和交付下一代无线局域网(WLAN)技术。在IEEE 802.11ax协议中,正交频分多址(OFDMA)已被用作PHY层协议,以支持上行链路多用户(MU)传输。然而,选择多用户物理_802.11ax帧结构

python scapy库基本使用_使用 scapy 库生成正常流量注入网络中,输入 sudo python flowin.py 文件分_槑!的博客-程序员宅基地

from scapy.all import *def print_pkt(pkt): pkt.show()#filter:设置过滤规则 prn:选择回调函数,这里选择show出这些包 count设置抓取数量#过滤icmp包pkt = sniff(filter='icmp',prn=print_pkt,count=5) #过滤非icmp包pkt = sniff(filter='not icmp',prn=print_pkt,count=5) #过滤特定IP,特定端口的TCP_使用 scapy 库生成正常流量注入网络中,输入 sudo python flowin.py 文件分 别对交

随便推点

Android Studio 使用API29无法向手机存储写文件问题_android 29以上写文件无效问题_兽拳的博客-程序员宅基地

Android Studio 使用API29无法向手机存储写文件问题起初思路存在问题解决思路解决代码起初思路最近在做一个项目需要把服务器的文件下载到手机存储中,开始的思路是这样的DownloadManager.Request request = new DownloadManager.Request(Uri.parse("http://www.xxx.com/" + filename)); request.setTitle("下载xxx数据"); _android 29以上写文件无效问题

B2C电商项目(第六天、Elasticsearch商品上架添加索引、商品下架删除索引库、商品搜索、多条件分页搜索、排序、高亮显示)_家乡的落日的博客-程序员宅基地

一、商品上架索引库导入数据1.1、需求分析商品上架将商品的sku列表导入或更新索引库。1.2、实现思路(1)在数据监控微服务中监控tb_spu表的数据,当tb_spu发生更改且is_marketable为1时,表示商品上架,将spu的id发送到rabbitmq。(2)在rabbitmq管理后台创建商品上架交换器(fanout)。使用分列模式的交换器是考虑商品上架会有很多种逻辑需要处理,导入索引库只是其中一项,另外还有商品详细页静态化等操作。这样我们可以创建导入索引库的队列和商品详细页静态化

vins_fusion学习笔记-程序员宅基地

Vins-Fusion源码:https://github.com/HKUST-Aerial-Robotics/VINS-Fusion摘要应项目需要,侧重学习stereo+gps融合转载几篇写的比较好的博客1.萌新学VINS-Fusion(三)------双目和GPS融合主函数文件与GPS融合的程序入口在KITTIGPSTest.cpp文件中,数据为KITTI数据集数据集为 h..._vins-fusion 回环

javaWeb编程_Servlet01_神秘人998的博客-程序员宅基地

Servlet一、servlet简介:java Servlet 是运行在服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。 web服务器端的编程技术。是继承了javax.servlet.http.HttpServlet类的Java类。由支持servlet的web服务器(tomcat)调用和启动运行_javaweb编程

linux驱动由浅入深系列:输入子系统之一(input子系统概述、应用层读取event)_应用层识别input是哪个涉笔_成为真正的程序员的博客-程序员宅基地

本文系列文章先从宏观上了解linux中输入子系统的作用,再看看其在应用层是如何表现出来的,然后在一层层深入到linux内核代码中。 1,输入子系统引入的好处:(1)统一了物理形态各异的相似的输入设备的处理功能。例如,各种鼠标,不论PS/2、USB、还是蓝牙,都被同样处理。在移动设备上的触摸屏、按键、各类传感器也都是基于输入子系统的。(2)提供了用于分发输入报告给用户应用程序的简单的事_应用层识别input是哪个涉笔

牛客网 找零_z国的货币系统包含面值_Boston_Kimisong的博客-程序员宅基地

题目描述Z国的货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小Y使用1024元的纸币购买了一件价值为N(0<N≤1024)N (0 < N \le 1024)N(0<N≤1024)的商品,请问最少他会收到多少硬币?输入描述:一行,包含一个数N。输出描述:一行,包含一个数,表示最少收到的硬币数。示例1输入200输出17说明花200,需要找零824块,找12个64元硬币,3个16元硬币,2个4元硬币即可。备注:对于100%的数_z国的货币系统包含面值

推荐文章

热门文章

相关标签