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


Posted in Python onNovember 17, 2017

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

#!/usr/bin/env python3# -*- coding: utf-8 -*-
#温度转换

from graphics import *
 
win = GraphWin("摄氏温度转换器", 400, 300)
win.setCoords(0.0, 0.0, 3.0, 4.0)
# 绘制接口
Text(Point(1,3), " 摄氏温度:").draw(win)
Text(Point(1,1), " 华氏温度:").draw(win)
input = Entry(Point(2,3), 5)
input.setText("0.0")
input.draw(win)
output = Text(Point(2,1),"")
output.draw(win)
button = Text(Point(1.5,2.0),"转换")
button.draw(win)
Rectangle(Point(1,1.5), Point(2,2.5)).draw(win)
# 等待鼠标点击
win.getMouse()
# 转换输入
celsius = eval(input.getText())
fahrenheit = 9.0/5.0 * celsius + 32.0
# 显示输出,改变按钮
output.setText(fahrenheit)
button.setText("退出")
# 等待响应鼠标点击,退出程序
win.getMouse()
win.close()
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#方块移动

from tkinter import *
 
def main():  
  tk = Tk()
  canvas = Canvas(tk, width = 400, height = 400)
  canvas.pack()
 
  def moverectangle(event):
    if event.keysym == "Up":
      canvas.move(1,0,-5)
    elif event.keysym == "Down":
      canvas.move(1,0,5)
    elif event.keysym == "Left":
      canvas.move(1,-5,0)
    elif event.keysym == "Right":
      canvas.move(1,5,0)
     
  canvas.create_rectangle(180,180,220,220,fill="red")
  canvas.bind_all("<KeyPress-Up>",moverectangle)
  canvas.bind_all("<KeyPress-Down>",moverectangle)
  canvas.bind_all("<KeyPress-Left>",moverectangle)
  canvas.bind_all("<KeyPress-Right>",moverectangle)
  tk.mainloop()
 
if __name__ == '__main__':
  main()
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from graphics import *

 
def convert(input):
  celsius = eval(input.getText())  # 输入转换
  fahrenheit = 9.0/5.0 * celsius + 32
  return fahrenheit 
def colorChange(win,input):
  cnum = eval(input.getText())
  weight = cnum / 100.0
  newcolor = color_rgb(int(255*weight),int(66+150*(1-weight)),int(255*(1-weight)))
  win.setBackground(newcolor)
def main():
  win = GraphWin("摄氏温度转换", 400, 300)
  win.setCoords(0.0, 0.0, 3.0, 4.0)
  # 绘制输入接口
  Text(Point(1,3),
     " 摄氏温度:").draw(win)
  Text(Point(2,2.7),
     " (请输入: 0.0-100.0 )").draw(win)
  Text(Point(1,1),
     "华氏温度:").draw(win)
  input = Entry(Point(2,3), 5)
  input.setText("0.0")
  input.draw(win)
  output = Text(Point(2,1),"")
  output.draw(win)
  button = Text(Point(1.5,2.0),"转换")
  button.draw(win)
  rect = Rectangle(Point(1,1.5), Point(2,2.5))
  rect.draw(win)
  # 等待鼠标点击
  win.getMouse()
  result = convert(input)  # 转换输入
  output.setText(result)  # 显示输出 
  # 改变颜色
  colorChange(win,input)
  # 改变按钮字体
  button.setText("退出")
  # 等待点击事件,退出程序
  win.getMouse()
  win.close()
 
if __name__ == '__main__':
  main()

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

Python 相关文章推荐
Python import用法以及与from...import的区别
May 28 Python
Python数据操作方法封装类实例
Jun 23 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
对python产生随机的二维数组实例详解
Dec 13 Python
浅谈python新式类和旧式类区别
Apr 26 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
Jun 21 Python
Python空间数据处理之GDAL读写遥感图像
Aug 01 Python
Python 根据日志级别打印不同颜色的日志的方法示例
Aug 08 Python
Python 3.8正式发布,来尝鲜这些新特性吧
Oct 15 Python
django ListView的使用 ListView中获取url中的参数值方式
Mar 27 Python
完美解决ARIMA模型中plot_acf画不出图的问题
Jun 04 Python
利用django创建一个简易的博客网站的示例
Sep 29 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
Python算法之图的遍历
Nov 16 #Python
You might like
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
php 发送带附件邮件示例
2014/01/23 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
javascript下过滤数组重复值的代码
2007/09/10 Javascript
自己开发Dojo的建议框架
2008/09/24 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
js实现交通灯效果
2017/01/13 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
vue登录路由验证的实现
2017/12/13 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
Django--权限Permissions的例子
2019/08/28 Python
python3使用GUI统计代码量
2019/09/18 Python
劳资人员岗位职责
2013/12/19 职场文书
工程专业求职自荐书范文
2014/02/08 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
寝室长工作失责检讨书
2014/10/06 职场文书
最新最全的手机号验证正则表达式
2022/02/24 Javascript