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 14 Python
Python构建网页爬虫原理分析
Dec 19 Python
python 数字类型和字符串类型的相互转换实例
Jul 17 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
Python实现操纵控制windows注册表的方法分析
May 24 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
Python 保持登录状态进行接口测试的方法示例
Aug 06 Python
Python拼接字符串的7种方式详解
Mar 19 Python
python实现超级玛丽游戏
Mar 18 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 Python
python中scipy.stats产生随机数实例讲解
Feb 19 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
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
nodejs log4js 使用详解
2019/05/31 NodeJs
微信小程序一周时间表功能实现
2019/10/17 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
Python中的类与对象之描述符详解
2015/03/27 Python
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
django 自定义过滤器的实现
2019/02/26 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
温泉秘密:Onsen Secret
2020/07/06 全球购物
ORACLE十问
2015/04/20 面试题
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers