Text和Entry的区别:
前者只能由程序输入内容,后者可以在图形界面输入内容;
两者都是用getText()获取内容,用setText()展示内容
Entry输入可以让用户自己输入内容,setText()是填充入内容,用户可以修改
温度转换程序代码如下:
1 #温度转换程序 2 from graphics import * 3 4 win=GraphWin("温度转换",400,300)#载入界面,标题栏 5 win.setCoords(0.0,0.0,3.0,4.0)#按比例转换坐标 6 7 #绘制接口 8 Text(Point(1,3),"摄氏度:").draw(win)#输入文字 9 Text(Point(1,1),"华氏度:").draw(win) 10 11 #Entry对象,在窗口中创建一个文本框,用于获取窗口中的键盘 12 #Entry对象和Text对象相似,也使用:setText()和getText() 13 #两者不同之处在于Entry对象的内容可以被用户修改 14 input=Entry(Point(2,3),5)#前面两位是位置,后面是宽度,可以写数字 15 input.setText("0.0") 16 input.draw(win) 17 18 output=Text(Point(2,1),"")#确定输出位置 19 output.draw(win) 20 21 button=Text(Point(1.5,2.0),"转换")#按钮字样 22 button.draw(win)#输出按钮文字“转换” 23 Rectangle(Point(1,1.5),Point(2,2.5)).draw(win)#画出按钮外框长方形 24 25 #等待鼠标点击 26 win.getMouse() 27 28 #转换输入 29 celsius=eval(input.getText())#getText()得到输入的温度值 30 fahrenheit=9.0/5.0*celsius+32.0 31 32 #显示输出,改变按钮 33 output.setText(fahrenheit)#setText()输出转换后的温度值 34 button.setText("退出") 35 36 #等待响应鼠标点击,退出程序 37 win.getMouse() 38 win.close()
此处的转换按钮只是一个装饰,鼠标点击窗口的任意位置都会进行温度转换。
运行结果: