python交互式图形编程实例(一)

yipeiwu_com6年前Python基础

本文实例为大家分享了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中的内置函数max()和min()及mas()函数的高级用法

python中的内置函数max()和min()及mas()函数的高级用法

max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) 函数功能为取传入的多个参数中的最大值,或者传入的可迭代对象元...

django如何实现视图重定向

当请求访问到某个视图时,我们想让它重定向到其他页面,应该怎么做呢? 1.HttpResponseRedirect 需求:当我们访问127.0.0.1/my_redirect时跳到127...

python使用if语句实现一个猜拳游戏详解

python使用if语句实现一个猜拳游戏详解

任务要求 在控制台中提示输入石头、剪刀、布,按回车键,然后给出游戏结果。 分析 我们知道在游戏规则中,石头克剪刀,剪刀克布,布克石头。但是这在计算机中并不是很好直接的表示,因此我们分别...

Python中关于字符串对象的一些基础知识

Python的字符串被划分为不可变序列的类别,意味着这些字符串所包含的字符存在从左至右的位置顺序,并且它们不可以在本地进行修改。 基本操作 字符串可以通过+操作符进行合并,可以使用*运算...

在python中使用正则表达式查找可嵌套字符串组

在网上看到一个小需求,需要用正则表达式来处理。原需求如下: 找出文本中包含”因为……所以”的句子,并以两个词为中心对齐输出前后3个字,中间全输出,如果“因为”和“所以”中间还存在“因为”...