zoukankan      html  css  js  c++  java
  • 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()) + '
     '
        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()
  • 相关阅读:
    vue官方实例-组件
    数据处理-js
    图片大于div时的居中显示
    angularjs select通过动态加载option有空白项的处理方法-
    背景图片自适应div
    input-text
    input-number-required
    input-number-not-required
    null与undefined的区别?
    是true还是false呢?
  • 原文地址:https://www.cnblogs.com/hayden1106/p/7845661.html
Copyright © 2011-2022 走看看