python 学习

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#事件处理
#常见事件系列类型
#<Control-Shif-Alt-KeyPress-A> #同时按下Ctrl,Shift,Alt,A
#<KeyPress-A> #按下A
#<Button-1> #单击左键
#<Double-Button-1> #双击左键
#短格式<1>==<Button-1>,x==<Key-Pess-x>
import tkinter as tk
master=tk.Tk()
def callback(event):
print("clicked at",event.x,event.y)
frame=tk.Frame(master,width=100,height=100)
frame.bind("<Button-1>",callback) #bind,绑定事件
frame.pack()
master.mainloop()

import tkinter as tk
master=tk.Tk()
master.title("我的Tkinter窗口")
def button_clicked():
master.title("你单击了")
btn=tk.Button(master,text="一个按钮",command=button_clicked) #command指定事件处理函数
btn.pack()
master.mainloop()

#Tkinter包含的各类组件及其功能
#Button 按钮
#Canvas 画布
#Checkbutton多选框
#Entry 输入框
#Farme 框架
#Label 标签
#Lisbox 列表框
#Meun 菜单
#Meunbutton 菜单按钮组件
#Message 消息
#Radiobutton单选按钮
#Scale 滑块
#Serollbar 滑动条
#Text 文本框
#Toplevel 在顶层新建窗体

#Label
from tkinter import *
root=Tk();root.title("Label实例")

w=Label(root,text="姓名")
w.config(width=20,bg='grey',fg='white')
w['anchor']=E
w.pack()
root.mainloop()

#LabelFrame
from tkinter import *
root=Tk();root.title("LabelFrame")

lf=LabelFrame(root,text="组一")
lf.pack()
Button(lf,text="确定").pack(side=LEFT)
Button(lf,text="取消").pack(side=LEFT)
root.mainloop()

#Message
from tkinter import *
master=Tk();master.title("Message")

w=Message(master,bg='black',fg='white')
w.config(text="这是不是一段ai写的话")
w['anchor']='w'
w.pack()
master.mainloop()

#Entry和标签应用实例(不可用)
import tkinter as tk
top=tk.Tk();top.title("你懂的")

label1=tk.Label(top,text="请输入姓名;")
label2=tk.Label(top,text="输入的姓名;")
entry1=tk.Entry(top)
entry2=tk.Entry(top)
label1.pack()
entry1.pack()
label2.pack()
entry2.pack()

def button_clicked():
entry2.delete(0,tk.END)
text=entry1.get()
entry2.insert(0,text)
btn=tk.Button(top,text="文本复制",command=button_clicked())
btn.pack()
top.mainloop()

#Listbox
'''
import tkinter as tk
top=tk.Tk();top.title("Listbox")
List=tk.Listbox(top)
names=["刘备","关羽","张飞"]
for name in names:
List.insert(0,name)
List.pack()
top.mainloop()
import tkinter as tk
top=tk.Tk();top.title("Listbox")
entry1=tk.Entry(master)
entry1.grid(row=0,column=0)
list=tk.Listbox(master)
def button_click():
text=entry1.get()
list.insert(0,text)
btn=tk.Button(master,text="添加到列表",command=button_clicked())
btn.grid(row=0,column=1)
list.grid(row=1,column=0,columnspan=2)
master.mainloop()
'''

#Canvas
import tkinter as tk
top=tk.Tk();top.title("画布")
canvas=tk.Canvas(top)
canvas.create_rectangle(10,130,80,210,tags="rect")
canvas.create_oval(10,10,80,80,fill="red",tags="oval")
canvas.create_oval(10,90,80,120,fill="green",tags="oval")
canvas.create_polygon(90,10,190,90,90,90,tags="polygon")
canvas.create_line(90,180,180,100,fill="red",tags="line")
canvas.create_text(180,200,text="Hello,I am sunny big boy",font="time 12 bold underline",tags="string")
canvas.pack()
top.mainloop()