#python杂记,写一写,以后忘了,方便回来看吧
#二:Tkinter
python中自带的图像库[不需要安装]Tkinter满足一般图像界面使用
简单的一个带有标题的界面:
import tkinter as tk
win=tk.Tk()
win.geometry("600x500")#界面大小,中间是小写的x
win.title("Tkinter")
win.mainloop()#防止界面一闪而过,作用同opencv中cv.waitkey(0)
界面上面添加控件(按键,标签,下拉框,复选,菜单.......)
import tkinter as tk
from tkinter import messagebox as msgbox
temp=["red","orange","yellow","green","blue","purple"]
have=0
win=tk.Tk()
win.geometry("600x500")
win.title("Tkinter")
def submit():
print("你已经提交")
print("Entry内容:",what.get())#得到提交内容
def fun_menu():
print("你点了菜单")
def hello(hei):#输入event参数,可以获取对应信息
msgbox.showinfo("title","hello!")#弹出信息框,标题和内容
#框架的界面刷新
#f1.after
#函数功能,实现框架界面背景一段时间自动改变颜色[可扩展至字体移动]
def color():
global have
have=(have+1)%(len(temp))
f1["bg"]=temp[have]
f1.after(500,color)
#框架,相当于QT里面的容器,放置控件使用
f1=tk.Frame(win,height=300,width=300,bg="gray")# Frame框架
f1.grid(column=0,row=0)
f1.bind("<Button-1>",hello)#绑定鼠标左键,事件发生执行hello
f1.after(500,color)
what=tk.Entry(win,width=20)#类似搜索框
what.grid(column=6,row=2)
b1=tk.Button(win,text="submit",width=10,command=submit)#按键
b1.grid(row=5,column=3)
#单选
only1=tk.Radiobutton(win,text="C++",value="1")#only1.get()可以获得value
only1.grid(row=2,column=1)
m=tk.Menu(win)
for i in ["File","Edit","View","Code","Run","Tools"]:
m.add_command(label=i,command=fun_menu)
win["menu"]=m
win.mainloop()
值得注意的是,控件安放有三种方式place,grid,pack,pack和grid不能同时使用
b1.place(x=110,y=40)
b1.grid(column=1,row=1)
b1.pack()
#canvas画布
from tkinter import *
win=Tk()
cv=Canvas(win,width=500,height=400,bg="gray")
image=PhotoImage(file="pi.gif")#只能gif图
cv.create_image((0,0),image=image)
# cv.create_bitmap((0,0),bitmap="info")
cv.pack()
win.mainloop()