Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Canvas)(二)-阿里云开发者社区

开发者社区> 一个处女座的程序猿> 正文

Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Canvas)(二)

简介: Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Canvas)
+关注继续查看

3、tkinter应用案例:将Canvas画布上绘制对角线、矩形、添加文本内容



image.png

#tkinter应用案例:将Canvas画布上绘制对角线、矩形、添加文本内容

from tkinter import *

root = Tk()

root.title("Jason niu工作室")

theLabel=tk.Label(root,text="进入GUI世界,请开始你的表演!\n(更改、删除Canvas画布上的内容)")  

theLabel.pack()

w = Canvas(root,width=400,height=200)

w.pack()

w.create_line(0,0,400,200,fill="green",width=3)

w.create_line(400,0,0,200,fill="green",width=3)

w.create_rectangle(80,40,320,160,fill="green")  

w.create_rectangle(130,70,270,130,fill="yellow")

w.create_text(200,100,text="Jason niu工作室")  

mainloop()


4、tkinter应用案例:在Canvas画布上绘制对角线、椭圆形、添加文本内容



image.png

#tkinter应用案例:在Canvas画布上绘制对角线、椭圆形、添加文本内容

from tkinter import *

root = Tk()

root.title("Jason niu工作室")

theLabel=tk.Label(root,text="进入GUI世界,请开始你的表演!\n(在Canvas画布上绘制对角线、椭圆形、添加文本内容)")  

theLabel.pack()

w = Canvas(root,width=200,height=100)

w.pack()

w.create_rectangle(40,20,160,80,dash=(4,4))

w.create_oval(40,20,160,80,fill="blue")      

w.create_text(100,50,text="Jason niu工作室")

mainloop()


5、tkinter应用案例:Canvas画布上绘制五角星


image.png



#tkinter应用案例:Canvas画布上绘制五角星

from tkinter import *

import math as m

 

root = Tk()

root.title("Jason niu工作室")

theLabel=tk.Label(root,text="进入GUI世界,请开始你的表演!\n(我就是这么任性,绘制五角星!)")  

theLabel.pack()

w = Canvas(root,width=200,height=100)

w.pack()

center_x = 100

center_y = 50

r=50

point = [

   # 左上点

   center_x - int(r*m.sin(2*m.pi/5)),

   center_y - int(r*m.cos(2*m.pi/5)),

   # 右上点

   center_x + int(r*m.sin(2*m.pi/5)),

   center_y - int(r*m.cos(2*m.pi/5)),

   # 左下角

   center_x - int(r*m.sin(m.pi/5)),

   center_y + int(r*m.cos(m.pi/5)),

   # 顶点

   center_x,

   center_y -r,

   # 右下点

   center_x + int(r*m.sin(m.pi/5)),

   center_y + int(r*m.cos(m.pi/5)),

   

   ]

w.create_polygon(point,outline="blue",fill="red")

mainloop()



6、tkinter应用案例:Canvas画布上随意绘画


image.png


#tkinter应用案例:Canvas画布上随意绘画

from tkinter import *

import math as m

 

root = Tk()

root.title("Jason niu工作室")

theLabel=tk.Label(root,text="进入GUI世界,请开始你的表演!\n(我是神笔马良,想怎么画就怎么画!)")  

theLabel.pack()

w = Canvas(root,width=400,height=200)

w.pack()

def paint(event):  

   x1,y1 = (event.x-1),(event.y-1)  

   x2,y2 = (event.x+1),(event.y+1)

   w.create_oval(x1,y1,x2,y2,fill="blue")

w.bind("<B1-Motion>",paint)  #将画布与鼠标左键绑定,绑定方法是paint方法

Label(root,text="把鼠标左键当作你的画笔,绘制你梦想的世界吧......").pack(side=BOTTOM)

mainloop()

 


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python java 调用
    jar 包下载 jython jython 2.1     实例 package com.curiousby.python.demo; import org.
818 0
动态调用WCF服务
本文转载:http://www.cnblogs.com/wiseant/archive/2010/07/29/1787599.html 原文地址:http://blog.csdn.net/castlooo/archive/2010/05/06/5562619.aspx   客户端调用wcf ,有时需要动态的调用服务端的WCF中的方法,本方法,反射wcf 的接口,动态调用接口中的方法。
773 0
深析静态链接库和动态链接库相同函数覆盖及库调用顺序问题
注意:编译器为gcc,若使用g++,请在库里面加上extern “C”    两个静态库    首先测试静态链接库,大概的代码如下:    liba.c #include   #include   #include "libA.
1672 0
linux strace-跟踪进程的系统调用或是信号产生情况,lstrace-跟踪己丑年调用库函数情况,进程跟踪调试命令
本工具可以用来做大多数排除,比如mount一个NFS,很慢,找不出原因,我们可以使用strace命令来跟中mount这个经常所有的调用过程。 strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。
1348 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6894 0
.NET Micro Framework动态调用C/C++底层代码(原理篇)
.NET Micro Framework和WinCE系统不同,从应用开发角度来说,仅支持C#开发(从V4.2版本开始,才支持VB.NET开发),而不像WinCE应用开发,既可以用C#/VB.Net,也可以用EVC等工具进行C/C++开发。
731 0
Action的动态调用方法
Action执行的时候并不一定要执行execute方法,我们可以指定Action执行哪个方法: 1、 方法一(通过methed属性指定执行方法): 可以在配置文件中配置Action的时候用method=来指定执行哪个方法             /user_add_success.jsp     这样,只要在action的对象中有一个add的方法,并且返回类型为String就可以了。
535 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7746 0
python调用阿里云产品接口
因为有些人使用爬虫访问web,浪费服务器资源不说还会影响正常用户,所以需要限制爬虫ip,本可以通过nginx或者防火墙限制,但需要重新编译nginx,开启防火墙怕又不知道会影响到哪些程序,所以 想用/etc/hosts.deny文件限制某些ip访问web的,于是配置了http:124.90.. 发现根本没用,但我之前使用该文件是可以限制ip ssh的,为什么现在不能限制http了呢,于是上网搜了下,发现如下内容: hosts.allow和hosts.deny规则的执行者为TCP wrappers,对应守护进程为tcpd;而tcpd执行依赖于程序使用了libwrap库。
10317 0
动态调用WebService
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.
657 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1701
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载