Python学习笔记·交互式图形编程

Python学习笔记·交互式图形编程

注:在校计算机学生一名,菜鸟一枚,最近开始学习Python的基础知识希望有什么不对的地方各位大佬能够不令赐教!
课程是在中国大学MOOC上学的,有兴趣的同学可以自行搜索
Ps:整理是自己看了一些资料和博客之后写的,尽量将原博客的地址给出来让大家参考,有一些时间可能有些远了还请大家见谅

      • 图形图像应用
      • Python图形工具包-Graphics
      • Python图形工具包-Tk模块
      • Python图形工具包-Turtle

图形图像应用

图形用户界面 (Graphical User Interface,GUI )
图形对象
照片管理软件、视频播放软件

图形显示

  • 图素法 ——矢量图: 以图形对象为基本元素组成的图形,如矩形、圆形
  • 像素法——标量图 :以像素点为基本单位形成图形

Python图形工具包-Graphics

如果你的电脑里没有graphics.py你可以新建一个并且复制下列网站的代码到你安装文件的lib(….你定义的路径….\Python\Lib)下面。
http://mcsp.wartburg.edu/zelle/python/graphics.py

运行如下代码:

from graphics import * 
win = GraphWin() 

Python学习笔记·交互式图形编程_第1张图片

图形窗口

  • 点(像素)的集合
    GraphWin对象尺寸默认值 : 高200像素,宽200像素。
  • 点对象Point :图形模块中最简单的对象 参考坐标系定位。 坐标(x,y)
  • 参考坐标系
    Graphics\Tkinter 中点(0,0)表示屏幕左上角,X轴正方向为从左到右,Y轴正方向为从上到下。默认窗口大小为200*200
from graphics import * 
win = GraphWin()
#就会跳出一个图形窗口
p1=Point(100,100)
p2=Point(150,80)
p1.draw(win)
p2.draw(win)
#画两个点

Python学习笔记·交互式图形编程_第2张图片

图形对象的概念
+类的实例
类定义了实例包含的属性和方法

交互式图形用户接口
+Graphics模块
 隐藏了底层事件的处理机制,
 提供了获得用户在窗口中的输入
+ 捕捉鼠标点击
+ 处理文本输入

例如连续点击10次鼠标,返回其坐标值的代码运行如下.

from graphics import * 
def main():
    win=GraphWin("点我")
    for i in range(10):
        p=win.getMouse()
        print(p.getX(),p.getY())
if __name__=='__main__':
    main()

Python学习笔记·交互式图形编程_第3张图片

除了点对象还有其他一些对象(具体可以打开graphics.py的代码看一下其中定义)
Text对象: setText()和getText()
Entry对象: setText()和getText()
+ 内容可以被用户修改

GraphWin对象
窗体对象
一个程序可以定义任意数量的窗体
实现函数: GraphWin()
 默认标题是“Graphics Window”
 默认大小为200*200
GraphWin对象常用方法 :
Python学习笔记·交互式图形编程_第4张图片

图形对象
点、线段、圆、椭圆、矩形、多边形以及文本
 默认初始化
 黑色边框
 没有被填充
图形对象通用方法 :
Python学习笔记·交互式图形编程_第5张图片

Point对象方法
Python学习笔记·交互式图形编程_第6张图片

Line对象方法
Python学习笔记·交互式图形编程_第7张图片

Circle对象方法
Python学习笔记·交互式图形编程_第8张图片

Rectangle对象方法
Python学习笔记·交互式图形编程_第9张图片

Oval对象方法
Python学习笔记·交互式图形编程_第10张图片

Polygon 对象方法
Python学习笔记·交互式图形编程_第11张图片

Text 对象方法
Python学习笔记·交互式图形编程_第12张图片

图形颜色
Python中颜色由字符串指定
 很多颜色具有不同深浅
 红色逐渐加深
+  ‘red1’‘red2’‘red3’ ‘red4’

color_rgb(red,green,blue)函数 
#设定颜色数值获得颜色 
#三个参数为0-255范围内的整数 
#返回一个字符串 

Python图形工具包-Tk模块

创建GUI程序的基本步骤为:
1、导入Tk模块.
2、 创建GUI应用程序的主窗口.
3、添加控件或GUI应用程序.
4、进入主事件循环,等待响应用户触发事件.

15种常见的 Tk 控件
Button, Canvas, Checkbutton, Entry, Frame, Label, Listbox, Menubutton, Menu,Message,Radiobutton, Scale Scrollbar, Text, Toplevel, Spinbox PanedWindow, LabelFrame, tkMessageBox

共同属性
 Dimensions :尺寸
 Colors:颜色
 Fonts:字体
 Anchors:锚
 Relief styles:浮雕式
 Bitmaps:显示位图
 Cursors:光标的外形

Tkinter三种几何管理方法
 pack()
 grid()
 place()

创建GUI应用程序窗口代码模板

from tkinter import *
tk =Tk()
#...此处台添加控件代码
tk.mainloop()

实例1

from tkinter import *
tk =Tk()
label=Label(tk,text="Tkinter")#一个文本内容
button=Button(tk,text="Click me")#一个按钮
label.pack()#显示
button.pack()#显示
tk.mainloop()

Python学习笔记·交互式图形编程_第13张图片

实例2–响应用户事件示例

from tkinter import *
def processOK():
    print("OKOKOK!")

def processCancel():
    print("Canceled")

def main():
    tk =Tk()
    buttonOK=Button(tk,text="OK",fg="red",command= processOK )
    buttonCancel=Button(tk,text="Cancel",fg="yellow",command= processCancel )
    buttonOK.pack()#显示
    buttonCancel.pack()#显示
    tk.mainloop()

if __name__=='__main__':
    main()

Python学习笔记·交互式图形编程_第14张图片
实例3–显示文字、图片

from tkinter import *
tk =Tk()
canvas=Canvas(tk,width =400,height=400 )#创建画布
canvas.pack()
canvas.create_text(100,40,text="TyxMaek1997-2017",fill="blue",font=("Times",16))
myImage=PhotoImage(file="TyxMaek.gif")#只支持gif格式图片
#并且你的图片要么在你的程序代码所在的目录要么是相对路径,否则就会报错
#报错后修改后需要重启编译器才能继续执行否则就会一直报错
canvas.create_image(10,70,anchor=NW,image=myImage)
tk.mainloop()

Python学习笔记·交互式图形编程_第15张图片

Python图形工具包-Turtle

Turtle 库 是Python内置图形化模块其安装文件Turtle.py文件在安装目录的Lib文件夹下。是用画笔绘制图形。原点在正中间(0,0)

控制画笔绘制状态方法
Python学习笔记·交互式图形编程_第16张图片

Turtle运动方法
Python学习笔记·交互式图形编程_第17张图片

Turtle颜色和字体绘制方法
Python学习笔记·交互式图形编程_第18张图片

你可能感兴趣的:(Python)