当前位置: 首页 > news >正文

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

本文实例为大家分享了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, 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() #!/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='取消', 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

相关文章:

  • rust vscode配置_VScode 配置rust开发环境
  • python 设计模式 观察者_观察者设计模式
  • 叶金荣mysql的简历_知数堂 叶金荣——MySQL 5-7优化不求人
  • yum pam_mysql centos_CentOS系统服务器环境配置
  • 以下python扩展库不是用于科学计算的有_《Python程序设计》试题库
  • 只用mysql怎么支撑高并发_README.md · 须臾/真正能支撑高并发以及高可用的复杂系统中的缓存架构有哪些东西 - Gitee.com...
  • 分布式mysql同步oracle_一种分布式数据库同步方案 .
  • c# 调用mysql存储过程 返回值_C#调用数据库存储过程
  • python给js变量赋值_JavaScript OR(||)变量赋值说明
  • xlc编译mysql_aix|安装Xlc编译器12版本
  • java print 包_java打jar包的几种方式详解
  • java extjs 项目_Java Web项目(Extjs)报错八
  • java技术路线_Java技术路线
  • java 内存模型书籍_那些年读过的书《Java并发编程实战》十、再探究Java内存模型...
  • linux mysql 表名大小写_Linux系统下MySql表名大小写敏感问题
  • [NodeJS] 关于Buffer
  • Java比较器对数组,集合排序
  • Java读取Properties文件的六种方法
  • js ES6 求数组的交集,并集,还有差集
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • PHP CLI应用的调试原理
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Tornado学习笔记(1)
  • Vue 2.3、2.4 知识点小结
  • vue:响应原理
  • Yii源码解读-服务定位器(Service Locator)
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 聊聊directory traversal attack
  • 深度学习入门:10门免费线上课程推荐
  • 使用Gradle第一次构建Java程序
  • 用 Swift 编写面向协议的视图
  • 交换综合实验一
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (Git) gitignore基础使用
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (第二周)效能测试
  • (二)JAVA使用POI操作excel
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (转)winform之ListView
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • ***测试-HTTP方法
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .Net - 类的介绍
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net 后台导出excel ,word
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NET单元测试