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列表list数组array用法实例解析
Oct 28 Python
Python与shell的3种交互方式介绍
Apr 11 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
python放大图片和画方格实现算法
Mar 30 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
Python数据可视化库seaborn的使用总结
Jan 15 Python
使用selenium模拟登录解决滑块验证问题的实现
May 10 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 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的ASP防火墙
2006/10/09 PHP
浅析php原型模式
2014/11/25 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
精通Javascript系列之数值计算
2011/06/07 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
[03:12]完美世界DOTA2联赛PWL DAY7集锦
2020/11/06 DOTA
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
详解Python中的测试工具
2019/06/09 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
python中uuid模块实例浅析
2020/12/29 Python
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
若干个Java基础面试题
2015/05/19 面试题
写给女朋友的道歉信
2014/01/12 职场文书
幼儿园教师个人反思
2014/01/30 职场文书
协议书的格式
2014/04/23 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
外出培训学习心得体会
2016/01/18 职场文书
《日月潭》教学反思
2016/02/20 职场文书
Nginx工作模式及代理配置的使用细节
2022/03/21 Servers