python交互式图形编程实例(二)


Posted in Python onNovember 17, 2017

本文实例为大家分享了python交互式图形编程的第二部分代码,供大家参考,具体内容如下

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#画个笑脸

from graphics import *
win = GraphWin()
face = Circle(Point(100,95), 50)
leftEye = Circle(Point(80,80) , 5)
leftEye.setFill("yellow")
leftEye.setOutline("red")
rightEye = Circle(Point(120, 80), 5)
rightEye.setFill("yellow")
rightEye.setOutline("red")
mouth = Line(Point(80, 110), Point(120,110))

face.draw(win)
mouth.draw(win)
leftEye.draw(win)
rightEye.draw(win)
win.mainloop()
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#鼠标点击,返回其坐标值
from graphics import *
def main():
  win = GraphWin("Click Me!")
  for i in range(10):
    p = win.getMouse()
    print("你点击的位置:", p.getX(), p.getY())

if __name__ == '__main__':
  main()
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#鼠标点击,返回其坐标值
from graphics import *

win = GraphWin("画一个多边形", 300,300)
win.setCoords(0.0,0.0,300.0,300.0)
message = Text(Point(150, 20),"点击五次")
message.draw(win)

#获得多边形的5个点
p1 = win.getMouse()
p1.draw(win)
p2 = win.getMouse()
p2.draw(win)
p3 = win.getMouse()
p3.draw(win)
p4 = win.getMouse()
p4.draw(win)
p5 = win.getMouse()
p5.draw(win)

#使用Polygon对象绘制多边形
polygon = Polygon(p1,p2,p3,p4,p5)
polygon.setFill("black")
polygon.setOutline("red")
polygon.draw(win)

#等待响应鼠标事件,退出程序
message.setText("点击任何地方退出")
win.getMouse()
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 画几何图形
import turtle
 
def main():
  turtle.pensize(3)
  turtle.penup()
  turtle.goto(-200,-50)
  turtle.pendown()
  turtle.begin_fill()
  turtle.color("red")
  turtle.circle(40, steps=3)
  turtle.end_fill()
 
 
  turtle.penup()
  turtle.goto(-100,-50)
  turtle.pendown()
  turtle.begin_fill()
  turtle.color("blue")
  turtle.circle(40, steps=4)
  turtle.end_fill()
 
  turtle.penup()
  turtle.goto(0,-50)
  turtle.pendown()
  turtle.begin_fill()
  turtle.color("green")
  turtle.circle(40, steps=5)
  turtle.end_fill()
 
  turtle.penup()
  turtle.goto(100,-50)
  turtle.pendown()
  turtle.begin_fill()
  turtle.color("yellow")
  turtle.circle(40, steps=6)
  turtle.end_fill()
 
  turtle.penup()
  turtle.goto(200,-50)
  turtle.pendown()
  turtle.begin_fill()
  turtle.color("purple")
  turtle.circle(40)
  turtle.end_fill()
 
  turtle.color("green")
  turtle.penup()
  turtle.goto(-100,50)
  turtle.pendown()
  turtle.write(("Cool Colorful shapes"),
    font = ("Times", 18, "bold"))
  turtle.hideturtle()
 
  turtle.done()
 
if __name__ == '__main__':
  main()
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#模拟聊天框
from tkinter import *
import time
 
def main():
 
 def sendMsg():#发送消息
  strMsg = '我:' + time.strftime("%Y-%m-%d %H:%M:%S",
                 time.localtime()) + '\n '
  txtMsgList.insert(END, strMsg, 'greencolor')
  txtMsgList.insert(END, txtMsg.get('0.0', END))
  txtMsg.delete('0.0', END)
   
 def cancelMsg():#取消消息
  txtMsg.delete('0.0', END)
 
 def sendMsgEvent(event): #发送消息事件
  if event.keysym == "Up":
   sendMsg()
 
 #创建窗口 
 t = Tk()
 t.title('与python聊天中')
    
 #创建frame容器
 frmLT = Frame(width=500, height=320, bg='white')
 frmLC = Frame(width=500, height=150, bg='white')
 frmLB = Frame(width=500, height=30)
 frmRT = Frame(width=200, height=500)
  
 #创建控件
 txtMsgList = Text(frmLT)
 txtMsgList.tag_config('greencolor', foreground='#008C00')#创建tag
 txtMsg = Text(frmLC);
 txtMsg.bind("<KeyPress-Up>", sendMsgEvent)
 btnSend = Button(frmLB, text='发 送', width = 8, command=sendMsg)
 btnCancel = Button(frmLB, text='取消', width = 8, command=cancelMsg)
 imgInfo = PhotoImage(file = "python.gif")
 lblImage = Label(frmRT, image = imgInfo)
 lblImage.image = imgInfo
 
 #窗口布局
 frmLT.grid(row=0, column=0, columnspan=2, padx=1, pady=3)
 frmLC.grid(row=1, column=0, columnspan=2, padx=1, pady=3)
 frmLB.grid(row=2, column=0, columnspan=2)
 frmRT.grid(row=0, column=2, rowspan=3, padx=2, pady=3)
 #固定大小
 frmLT.grid_propagate(0)
 frmLC.grid_propagate(0)
 frmLB.grid_propagate(0)
 frmRT.grid_propagate(0)
  
 btnSend.grid(row=2, column=0)
 btnCancel.grid(row=2, column=1)
 lblImage.grid()
 txtMsgList.grid()
 txtMsg.grid()
 
 #主事件循环
 t.mainloop()
 
if __name__ == '__main__':
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 图片验证码代码分享
Jul 04 Python
paramiko模块安装和使用(远程登录服务器)
Jan 27 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
Python+Wordpress制作小说站
Apr 14 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
python3爬取淘宝信息代码分析
Feb 10 Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 Python
Django接收post前端返回的json格式数据代码实现
Jul 31 Python
如何在python中实现线性回归
Aug 10 Python
用python写一个带有gui界面的密码生成器
Nov 06 Python
python 进阶学习之python装饰器小结
Sep 04 Python
python交互式图形编程实例(一)
Nov 17 #Python
Python金融数据可视化汇总
Nov 17 #Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
Nov 17 #Python
Python中super函数的用法
Nov 17 #Python
python使用正则表达式替换匹配成功的组
Nov 17 #Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 #Python
详解python eval函数的妙用
Nov 16 #Python
You might like
php $_SESSION会员登录实例分享
2021/01/19 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
PHP中SESSION过期设置
2021/03/09 PHP
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
js数组的操作详解
2013/03/27 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
django模型中的字段和model名显示为中文小技巧分享
2014/11/18 Python
python daemon守护进程实现
2016/08/27 Python
解读! Python在人工智能中的作用
2017/11/14 Python
python实现教务管理系统
2018/03/12 Python
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
django实现模型字段动态choice的操作
2020/04/01 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
2014年党员自我评议对照检查材料
2014/09/20 职场文书
保留意见审计报告
2015/06/05 职场文书
python实现简单石头剪刀布游戏
2021/10/24 Python
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers