Python学习笔记·交互式图形编程
注:在校计算机学生一名,菜鸟一枚,最近开始学习Python的基础知识希望有什么不对的地方各位大佬能够不令赐教!
课程是在中国大学MOOC上学的,有兴趣的同学可以自行搜索
Ps:整理是自己看了一些资料和博客之后写的,尽量将原博客的地址给出来让大家参考,有一些时间可能有些远了还请大家见谅
图形用户界面 (Graphical User Interface,GUI )
图形对象
照片管理软件、视频播放软件
图形显示
如果你的电脑里没有graphics.py你可以新建一个并且复制下列网站的代码到你安装文件的lib(….你定义的路径….\Python\Lib)下面。
http://mcsp.wartburg.edu/zelle/python/graphics.py
运行如下代码:
from graphics import *
win = GraphWin()
图形窗口
from graphics import *
win = GraphWin()
#就会跳出一个图形窗口
p1=Point(100,100)
p2=Point(150,80)
p1.draw(win)
p2.draw(win)
#画两个点
图形对象的概念
+类的实例
类定义了实例包含的属性和方法
交互式图形用户接口
+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()
除了点对象还有其他一些对象(具体可以打开graphics.py的代码看一下其中定义)
Text对象: setText()和getText()
Entry对象: setText()和getText()
+ 内容可以被用户修改
GraphWin对象
窗体对象
一个程序可以定义任意数量的窗体
实现函数: GraphWin()
默认标题是“Graphics Window”
默认大小为200*200
GraphWin对象常用方法 :
图形对象
点、线段、圆、椭圆、矩形、多边形以及文本
默认初始化
黑色边框
没有被填充
图形对象通用方法 :
图形颜色
Python中颜色由字符串指定
很多颜色具有不同深浅
红色逐渐加深
+ ‘red1’‘red2’‘red3’ ‘red4’
color_rgb(red,green,blue)函数
#设定颜色数值获得颜色
#三个参数为0-255范围内的整数
#返回一个字符串
创建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()
实例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()
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()
Turtle 库 是Python内置图形化模块其安装文件Turtle.py文件在安装目录的Lib文件夹下。是用画笔绘制图形。原点在正中间(0,0)