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入门指引
Apr 01 Python
CentOS安装pillow报错的解决方法
Jan 27 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
Python中的二维数组实例(list与numpy.array)
Apr 13 Python
transform python环境快速配置方法
Sep 27 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
python web框架中实现原生分页
Sep 08 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
Oct 18 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
python利用proxybroker构建爬虫免费IP代理池的实现
Feb 21 Python
Pandas数据结构之Series的使用
Mar 31 Python
python井字棋游戏实现人机对战
Apr 28 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
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
jquery 事件对象属性小结
2010/04/27 Javascript
js中将具有数字属性名的对象转换为数组
2011/03/06 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
20行python代码实现人脸识别
2019/05/05 Python
python 随机森林算法及其优化详解
2019/07/11 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
基于Python实现2种反转链表方法代码实例
2020/07/06 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
Final类有什么特点
2012/04/25 面试题
房地产项目建议书
2014/03/12 职场文书
设计师求职信模板
2014/05/06 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
员工安全生产责任书
2014/07/22 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
网络研修心得体会
2016/01/08 职场文书