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

本文展示了Python图形编程的几个实例,包括画笑脸、获取鼠标点击坐标、绘制多边形、使用turtle库画彩色图形以及创建模拟聊天框。通过这些实例,读者可以了解到Python在交互式图形编程中的应用。
摘要由CSDN通过智能技术生成

本文实例为大家分享了python交互式图形编程的第二部分代码,供大家参考,具体内容如下

#!/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,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()

#!/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()

#!/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()

#!/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()

#!/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("",sendMsgEvent)

btnSend = Button(frmLB,text='发 送',width = 8,command=sendMsg)

btnCancel = Button(frmLB,text='取消',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,pady=3)

frmLB.grid(row=2,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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值