Skip to content

Commit c21761d

Browse files
committed
补充
1 parent 153da8c commit c21761d

File tree

5 files changed

+168
-0
lines changed

5 files changed

+168
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/usr/bin/env python
2+
#coding:utf-8
3+
# version:python2.7.15
4+
# windows 10
5+
# reference: python gui cookbook
6+
import Tkinter as tk
7+
import ttk
8+
import tkMessageBox as mBox
9+
from Tkinter import Menu
10+
11+
# 创建主窗口
12+
win = tk.Tk()
13+
win.title("Python gui")
14+
win.withdraw()
15+
mBox.showinfo("python信息提示框", "a python gui created using tkinter:\n The year is 2018")

Tkinter应用/chapter3/messagebox.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
# 创建主窗口
1212
win = tk.Tk()
1313
win.title("Python gui")
14+
win.iconbitmap(r'c:\Python27\DLLs\pyc.ico')
1415

1516
def _msgBox():
1617
# mBox.showinfo("python信息提示框", "a python gui created using tkinter:\n The year is 2018")
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#!/usr/bin/env python
2+
#coding:utf-8
3+
# version:python2.7.15
4+
# windows 10
5+
# reference: python gui cookbook
6+
import Tkinter as tk
7+
import ttk
8+
import ScrolledText as scrolledtext
9+
10+
# 创建主窗口
11+
win = tk.Tk()
12+
win.title("Python gui")
13+
14+
# 创建框架方便布局
15+
monty = ttk.LabelFrame(win, text=" monty python")
16+
monty.grid(column=0, row=0)
17+
18+
# 按钮回调函数
19+
def ClickMe():
20+
action.configure(text="Hello " + name.get() + ' ' + numberChosen.get())
21+
22+
# 创建按钮
23+
action = ttk.Button(monty, text="Click Me!", command=ClickMe)
24+
action.grid(column=2, row=1, padx=8, pady=4)
25+
26+
# 创建标签
27+
ttk.Label(monty, text="Enter a name:").grid(column=0, row=0, padx=8, pady=4)
28+
ttk.Label(monty, text="Choose a number:").grid(column=1, row=0, padx=8, pady=4)
29+
30+
# 创建输入框
31+
name = tk.StringVar()
32+
nameEntered = ttk.Entry(monty, width=12, textvariable=name)
33+
nameEntered.focus() #place a cursor
34+
nameEntered.grid(column=0, row=1, padx=8, pady=4)
35+
36+
# 创建下拉菜单
37+
number = tk.StringVar()
38+
numberChosen = ttk.Combobox(monty, width=12, textvariable=number)
39+
# numberChosen = ttl.Combobox(monty, width=12, textvariable=number, state='readonly') # 禁止自己填写
40+
numberChosen["values"] = [1, 2, 4, 42, 100]
41+
numberChosen.grid(column=1, row=1, padx=8, pady=4)
42+
numberChosen.current(1) #选择默认value
43+
44+
def _spin():
45+
value = spin.get()
46+
scr.insert(tk.INSERT, value+'\n')
47+
48+
# 创建选值框
49+
# spin = tk.Spinbox(monty, from_=0, to=10, width=5, bd=8, command=_spin)
50+
spin = tk.Spinbox(monty, values=(1,2,4,8,16), width=5, bd=8, command=_spin, relief=tk.GROOVE)
51+
spin2 = tk.Spinbox(monty, values=(1,2,4,8,16), width=5, bd=8, command=_spin, relief=tk.SOLID)
52+
spin3 = tk.Spinbox(monty, values=(1,2,4,8,16), width=5, bd=8, command=_spin, relief=tk.RIDGE)
53+
spin.grid(column=0, row=2)
54+
spin2.grid(column=1, row=2)
55+
spin3.grid(column=2, row=2)
56+
57+
# 创建滚动文本框,定义长宽
58+
scrolW = 30
59+
scrolH = 3
60+
# wrap=tk.WORD防止单词在行末被分割,直接换到下一行
61+
scr = scrolledtext.ScrolledText(monty, width=scrolW, height=scrolH, wrap=tk.WORD)
62+
# 扩充所占单元格布局,合并3格
63+
scr.grid(column=0, columnspan=3, sticky="WE")
64+
65+
win.mainloop()

Tkinter应用/chapter3/spinbox.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#!/usr/bin/env python
2+
#coding:utf-8
3+
# version:python2.7.15
4+
# windows 10
5+
# reference: python gui cookbook
6+
import Tkinter as tk
7+
import ttk
8+
import ScrolledText as scrolledtext
9+
10+
# 创建主窗口
11+
win = tk.Tk()
12+
win.title("Python gui")
13+
14+
# 创建框架方便布局
15+
monty = ttk.LabelFrame(win, text=" monty python")
16+
monty.grid(column=0, row=0)
17+
18+
# 按钮回调函数
19+
def ClickMe():
20+
action.configure(text="Hello " + name.get() + ' ' + numberChosen.get())
21+
22+
# 创建按钮
23+
action = ttk.Button(monty, text="Click Me!", command=ClickMe)
24+
action.grid(column=2, row=1, padx=8, pady=4)
25+
26+
# 创建标签
27+
ttk.Label(monty, text="Enter a name:").grid(column=0, row=0, padx=8, pady=4)
28+
ttk.Label(monty, text="Choose a number:").grid(column=1, row=0, padx=8, pady=4)
29+
30+
# 创建输入框
31+
name = tk.StringVar()
32+
nameEntered = ttk.Entry(monty, width=12, textvariable=name)
33+
nameEntered.focus() #place a cursor
34+
nameEntered.grid(column=0, row=1, padx=8, pady=4)
35+
36+
# 创建下拉菜单
37+
number = tk.StringVar()
38+
numberChosen = ttk.Combobox(monty, width=12, textvariable=number)
39+
# numberChosen = ttl.Combobox(monty, width=12, textvariable=number, state='readonly') # 禁止自己填写
40+
numberChosen["values"] = [1, 2, 4, 42, 100]
41+
numberChosen.grid(column=1, row=1, padx=8, pady=4)
42+
numberChosen.current(1) #选择默认value
43+
44+
def _spin():
45+
value = spin.get()
46+
scr.insert(tk.INSERT, value+'\n')
47+
48+
# 创建选值框
49+
# spin = tk.Spinbox(monty, from_=0, to=10, width=5, bd=8, command=_spin)
50+
spin = tk.Spinbox(monty, values=(1,2,4,8,16), width=5, bd=8, command=_spin)
51+
spin.grid(column=0, row=2)
52+
53+
# 创建滚动文本框,定义长宽
54+
scrolW = 30
55+
scrolH = 3
56+
# wrap=tk.WORD防止单词在行末被分割,直接换到下一行
57+
scr = scrolledtext.ScrolledText(monty, width=scrolW, height=scrolH, wrap=tk.WORD)
58+
# 扩充所占单元格布局,合并3格
59+
scr.grid(column=0, columnspan=3, sticky="WE")
60+
61+
win.mainloop()

Tkinter应用/chapter3/test.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/usr/bin/env python
2+
#coding:utf-8
3+
# version:python2.7.15
4+
# windows 10
5+
# reference: python gui cookbook
6+
import Tkinter as tk
7+
import ttk
8+
import tkMessageBox as mBox
9+
from Tkinter import Menu
10+
11+
# 创建主窗口
12+
win = tk.Tk()
13+
win.title("Python gui")
14+
15+
scrollbar = tk.Scrollbar(win, orient=tk.VERTICAL,)
16+
lb = tk.Listbox(win, selectmode=tk.EXTENDED, bg='gray', xscrollcommand=scrollbar.set)
17+
scrollbar.grid(sticky='E')
18+
lb.selection_anchor(tk.END)
19+
lb.grid()
20+
21+
def huge_number():
22+
for i in range(3):
23+
lb.insert(0, i)
24+
25+
ttk.Button(win, text='start', command=huge_number).grid()
26+
win.mainloop()

0 commit comments

Comments
 (0)