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 相关文章推荐
可用于监控 mysql Master Slave 状态的python代码
Feb 10 Python
使用 Python 获取 Linux 系统信息的代码
Jul 13 Python
讲解Python中运算符使用时的优先级
May 14 Python
Python单例模式实例详解
Mar 01 Python
Python面向对象特殊成员
Apr 24 Python
Python编程之gui程序实现简单文件浏览器代码
Dec 08 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
Feb 04 Python
Python气泡提示与标签的实现
Apr 01 Python
Python使用tkinter实现摇骰子小游戏功能的代码
Jul 02 Python
详解Python中如何将数据存储为json格式的文件
Nov 18 Python
Python实现石头剪刀布游戏
Jan 20 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
修改了一个很不错的php验证码(支持中文)
2007/02/14 PHP
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
thinkphp分页集成实例
2017/07/24 PHP
Jquery练习之表单验证实现代码
2010/12/14 Javascript
javascript中的onkeyup和onkeydown区别介绍
2013/04/28 Javascript
实例讲解JS中数组Array的操作方法
2014/05/09 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
js实现查询商品案例
2020/07/22 Javascript
打包发布Python模块的方法详解
2016/09/18 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
怎样客观的做好自我评价
2013/12/28 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
新教师工作感言
2014/02/16 职场文书
消防安全宣传口号
2014/06/10 职场文书
教师节主题班会方案
2015/08/17 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers