Python GUI tkinter窗口视窗学习3
# test9
import tkinter as tk
window = tk.Tk()
window.title('my test9')
window.geometry('700x400')
l = tk.Label(window,bg = 'green',width = 20,text = 'empty')
l.pack()
def print_selection():
if (var1.get() == 1) & (var2.get() == 0): # 如果选中第一个选项,未选中第二个选项
l.config(text='I love only Python ')
elif (var1.get() == 0) & (var2.get() == 1): # 如果选中第二个选项,未选中第一个选项
l.config(text='I love only go')
elif (var1.get() == 0) & (var2.get() == 0): # 如果两个选项都未选中
l.config(text='I do not love either')
else:
l.config(text='I love both') # 如果两个选项都选中
# 定义两个checkbutton选项并放置
# 存放选择值
var1 = tk.IntVar()
var2 = tk.IntVar()
c1 = tk.Checkbutton(window,text = 'python',variable=var1,onvalue = 1,offvalue = 0,command = print_selection)
c2 = tk.Checkbutton(window,text = 'go',variable=var2,onvalue = 1,offvalue = 0,command = print_selection)
c1.pack()
c2.pack()
window.mainloop()
import tkinter as tk # 使用Tkinter前需要先导入
# 第1步,实例化object,建立窗口window
window = tk.Tk()
# 第2步,给窗口的可视化起名字
window.title('My Window')
# 第3步,设定窗口的大小(长 * 宽)
window.geometry('500x300') # 这里的乘是小x
# 第4步,在图形界面上创建一个标签label用以显示并放置
l = tk.Label(window, bg='green', fg='white', width=20, text='empty')
l.pack()
# 第6步,定义一个触发函数功能
def print_selection(v):
l.config(text='you have selected ' + v)
# 第5步,创建一个尺度滑条,长度200字符,从0开始10结束,以2为刻度,精度为0.01,触发调用print_selection函数
s = tk.Scale(window, label='try me', from_=0, to=10, orient=tk.HORIZONTAL, length=200, showvalue=0,tickinterval=2, resolution=0.01, command=print_selection)
s.pack()
# 第7步,主窗口循环显示
window.mainloop()
# test11
import tkinter as tk
window = tk.Tk()
window.title('my test')
window.geometry('700x400')
# 用tkinter只能装入GIF图片,也就是扩展名是.gif的图片文件
canvas = tk.Canvas(window,bg = 'green',height=350,width =700)
image_file = tk.PhotoImage(file = 'pic.gif')
# 图片锚定点(n图片顶端的中间点位置)放在画布(350,0)坐标处 (最上方的中间位置)
image = canvas.create_image(350,0,anchor = 'n',image=image_file)
# 画图形
x0,y0,x1,y1 = 100,100,150,150
line = canvas.create_line(x0,y0,x1,y1)
oval = canvas.create_oval(x0+120, y0+50, x1+120, y1+50, fill='yellow') # 画圆 用黄色填充
arc = canvas.create_arc(x0, y0+50, x1, y1+50, start=0, extent=180) # 画扇形 从0度打开收到180度结束
rect = canvas.create_rectangle(0, 30, 40, 30+20) # 画矩形正方形
canvas.pack()
window.mainloop()
# test12
import tkinter as tk
window = tk.Tk()
window.title('my test')
window.geometry('700x400')
l = tk.Label(window,text = ' ',bg = 'green')
l.pack()
counter = 0
def do_job():
global counter
l.config(text='do '+ str(counter))
counter += 1
# 创建一个菜单栏(窗口上方)
menubar = tk.Menu(window)
# 创建一个file菜单项,默认不下拉
filemenu = tk.Menu(menubar,tearoff = 0)
menubar.add_cascade(label = 'File',menu = filemenu)
filemenu.add_command(label='New', command=do_job)
filemenu.add_command(label='Open', command=do_job)
filemenu.add_command(label='Save', command=do_job)
filemenu.add_separator() # 添加一条分隔线
filemenu.add_command(label='Exit', command=window.quit) # 用tkinter里面自带的quit()函数
editmenu = tk.Menu(menubar, tearoff=0)
# 将上面定义的空菜单命名为 Edit,放在菜单栏中,就是装入那个容器中
menubar.add_cascade(label='Edit', menu=editmenu)
# 同样的在 Edit 中加入Cut、Copy、Paste等小命令功能单元,如果点击这些单元, 就会触发do_job的功能
editmenu.add_command(label='Cut', command=do_job)
editmenu.add_command(label='Copy', command=do_job)
editmenu.add_command(label='Paste', command=do_job)
# 二级菜单
submenu = tk.Menu(filemenu) # 和上面定义菜单一样,不过此处实在File上创建一个空的菜单
filemenu.add_cascade(label='Import', menu=submenu, underline=0)
submenu.add_command(label='Submenu_1', command=do_job)
window.config(menu=menubar)
window.mainloop()