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中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
Python获取脚本所在目录的正确方法
Apr 15 Python
python写的ARP攻击代码实例
Jun 04 Python
python图书管理系统
Apr 05 Python
Python多进程multiprocessing.Pool类详解
Apr 27 Python
使用Python实现一个栈判断括号是否平衡
Aug 23 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
Pytorch实现基于CharRNN的文本分类与生成示例
Jan 08 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
Python virtualenv虚拟环境实现过程解析
Apr 18 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
Dec 07 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开发中的错误收集,不定期更新。
2011/02/03 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php中hashtable实现示例分享
2014/02/13 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
php向js函数传参的几种方法
2014/08/10 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
php实现将上传word文件转为html的方法
2015/06/03 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
pyqt4教程之widget使用示例分享
2014/03/07 Python
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
Python语言的变量认识及操作方法
2018/02/11 Python
详解Python中的四种队列
2018/05/21 Python
Python hashlib模块用法实例分析
2018/06/12 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
小学六年级学生评语
2014/04/22 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
组工干部对照检查材料
2014/08/25 职场文书
JavaScript实现两个数组的交集
2022/03/25 Javascript