本文实例为大家分享了python交互式图形编程的第二部分代码,供大家参考,具体内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#画个笑脸
from graphics import *
win = GraphWin()
face = Circle(Point( 100 , 95 ), 50 )
leftEye = Circle(Point( 80 , 80 ) , 5 )
leftEye.setFill( "yellow" )
leftEye.setOutline( "red" )
rightEye = Circle(Point( 120 , 80 ), 5 )
rightEye.setFill( "yellow" )
rightEye.setOutline( "red" )
mouth = Line(Point( 80 , 110 ), Point( 120 , 110 ))
face.draw(win)
mouth.draw(win)
leftEye.draw(win)
rightEye.draw(win)
win.mainloop()
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#鼠标点击,返回其坐标值
from graphics import *
def main():
win = GraphWin( "Click Me!" )
for i in range ( 10 ):
p = win.getMouse()
print ( "你点击的位置:" , p.getX(), p.getY())
if __name__ = = '__main__' :
main()
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#鼠标点击,返回其坐标值
from graphics import *
win = GraphWin( "画一个多边形" , 300 , 300 )
win.setCoords( 0.0 , 0.0 , 300.0 , 300.0 )
message = Text(Point( 150 , 20 ), "点击五次" )
message.draw(win)
#获得多边形的5个点
p1 = win.getMouse()
p1.draw(win)
p2 = win.getMouse()
p2.draw(win)
p3 = win.getMouse()
p3.draw(win)
p4 = win.getMouse()
p4.draw(win)
p5 = win.getMouse()
p5.draw(win)
#使用Polygon对象绘制多边形
polygon = Polygon(p1,p2,p3,p4,p5)
polygon.setFill( "black" )
polygon.setOutline( "red" )
polygon.draw(win)
#等待响应鼠标事件,退出程序
message.setText( "点击任何地方退出" )
win.getMouse()
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 画几何图形
import turtle
def main():
turtle.pensize( 3 )
turtle.penup()
turtle.goto( - 200 , - 50 )
turtle.pendown()
turtle.begin_fill()
turtle.color( "red" )
turtle.circle( 40 , steps = 3 )
turtle.end_fill()
turtle.penup()
turtle.goto( - 100 , - 50 )
turtle.pendown()
turtle.begin_fill()
turtle.color( "blue" )
turtle.circle( 40 , steps = 4 )
turtle.end_fill()
turtle.penup()
turtle.goto( 0 , - 50 )
turtle.pendown()
turtle.begin_fill()
turtle.color( "green" )
turtle.circle( 40 , steps = 5 )
turtle.end_fill()
turtle.penup()
turtle.goto( 100 , - 50 )
turtle.pendown()
turtle.begin_fill()
turtle.color( "yellow" )
turtle.circle( 40 , steps = 6 )
turtle.end_fill()
turtle.penup()
turtle.goto( 200 , - 50 )
turtle.pendown()
turtle.begin_fill()
turtle.color( "purple" )
turtle.circle( 40 )
turtle.end_fill()
turtle.color( "green" )
turtle.penup()
turtle.goto( - 100 , 50 )
turtle.pendown()
turtle.write(( "Cool Colorful shapes" ),
font = ( "Times" , 18 , "bold" ))
turtle.hideturtle()
turtle.done()
if __name__ = = '__main__' :
main()
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#模拟聊天框
from tkinter import *
import time
def main():
def sendMsg(): #发送消息
strMsg = '我:' + time.strftime( "%Y-%m-%d %H:%M:%S" ,
time.localtime()) + '\n '
txtMsgList.insert(END, strMsg, 'greencolor' )
txtMsgList.insert(END, txtMsg.get( '0.0' , END))
txtMsg.delete( '0.0' , END)
def cancelMsg(): #取消消息
txtMsg.delete( '0.0' , END)
def sendMsgEvent(event): #发送消息事件
if event.keysym = = "Up" :
sendMsg()
#创建窗口
t = Tk()
t.title( '与python聊天中' )
#创建frame容器
frmLT = Frame(width = 500 , height = 320 , bg = 'white' )
frmLC = Frame(width = 500 , height = 150 , bg = 'white' )
frmLB = Frame(width = 500 , height = 30 )
frmRT = Frame(width = 200 , height = 500 )
#创建控件
txtMsgList = Text(frmLT)
txtMsgList.tag_config( 'greencolor' , foreground = '#008C00' )#创建tag
txtMsg = Text(frmLC);
txtMsg.bind( "<KeyPress-Up>" , sendMsgEvent)
btnSend = Button(frmLB, text = '发 送' , width = 8 , command = sendMsg)
btnCancel = Button(frmLB, text = '取消' , width = 8 , command = cancelMsg)
imgInfo = PhotoImage( file = "python.gif" )
lblImage = Label(frmRT, image = imgInfo)
lblImage.image = imgInfo
#窗口布局
frmLT.grid(row = 0 , column = 0 , columnspan = 2 , padx = 1 , pady = 3 )
frmLC.grid(row = 1 , column = 0 , columnspan = 2 , padx = 1 , pady = 3 )
frmLB.grid(row = 2 , column = 0 , columnspan = 2 )
frmRT.grid(row = 0 , column = 2 , rowspan = 3 , padx = 2 , pady = 3 )
#固定大小
frmLT.grid_propagate( 0 )
frmLC.grid_propagate( 0 )
frmLB.grid_propagate( 0 )
frmRT.grid_propagate( 0 )
btnSend.grid(row = 2 , column = 0 )
btnCancel.grid(row = 2 , column = 1 )
lblImage.grid()
txtMsgList.grid()
txtMsg.grid()
#主事件循环
t.mainloop()
if __name__ = = '__main__' :
main()
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/hayden1106/p/7845661.html