网络编程
位置:首页>> 网络编程>> Python编程>> python交互式图形编程实例(一)

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

作者:hayden__wang  发布时间:2022-11-12 14:44:53 

标签: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()

来源:http://www.cnblogs.com/hayden1106/p/7844488.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com