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编写脚本获取手机当前应用apk的信息
Jul 21 Python
python根据路径导入模块的方法
Sep 30 Python
Python配置文件解析模块ConfigParser使用实例
Apr 13 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
python实现移位加密和解密
Mar 22 Python
anaconda中更改python版本的方法步骤
Jul 14 Python
django url到views参数传递的实例
Jul 19 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
python3实现单目标粒子群算法
Nov 14 Python
Python使用qrcode二维码库生成二维码方法详解
Feb 17 Python
使用python把xmind转换成excel测试用例的实现代码
Oct 12 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
Oct 16 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
SSI指令
2006/11/25 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
PHP基础知识介绍
2013/09/17 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
Python中str.join()简单用法示例
2018/03/20 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
简单了解python列表和元组的区别
2020/05/14 Python
python 实现简易的记事本
2020/11/30 Python
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
美国性感内衣店:Yandy
2018/06/12 全球购物
自考自我鉴定范文
2013/10/30 职场文书
工艺工程师工作职责
2013/11/23 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
班级寄语大全
2014/04/10 职场文书
秋天的雨教学反思
2014/04/27 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
户外亲子活动总结
2015/05/08 职场文书