ch9_1.py
# ch9_1.py
from tkinter import *
window = Tk()
window.title("ch9_1")
# window.geometry("300x180")
slider1 = Scale(window,from_=0,to=10).pack()
slider2 = Scale(window,from_=0,to=100,
length=300,orient=HORIZONTAL).pack()
window.mainloop()
ch9_2.py
# ch9_2.py
from tkinter import *
root = Tk()
root.title("ch9_2") # 窗口标题
slider = Scale(
root,
from_=0, # 起点值
to=20, # 终点值
troughcolor="yellow", # 槽的颜色
width="30", # 槽的高度
tickinterval=2, # 刻度
label="My Scale", # Scale标签
length=300, # Scale长度
orient=HORIZONTAL # 水平
)
slider.pack()
root.mainloop()
ch9_3.py
# ch9_3.py
from tkinter import *
def printInfo():
print("垂直尺度值 = %d, 水平尺度值 = %d" % (sV.get(),sH.get()))
root = Tk()
root.title("ch9_3") # 窗口标题
sV = Scale(root,label="垂直的滑块",from_=0,to=10) # 建立垂直尺度
sV.set(5) # 设定垂直尺度初始值是5
sV.pack()
sH = Scale(root,label="水平的滑块",from_=0,to=10,
length=300,orient=HORIZONTAL)
sH.set(3)
sH.pack()
Button(root,text="打印两个滑块上的数值",command=printInfo).pack()
root.mainloop()
ch9_4_1.py
# ch9_4_1.py
from tkinter import *
from tkinter.colorchooser import *
def bgUpdade():
''' 更改窗口背景颜色 '''
myColor = askcolor() # 列出色彩对话框
print(type(myColor),myColor) # 打印传递回来的值
root.config(bg=myColor[1]) # 设置窗口背景颜色
root = Tk()
root.title("ch9_4_1")
root.geometry("360x240")
btn = Button(root,text="Select Color",command=bgUpdade)
btn.pack(pady=5)
root.mainloop()
ch9_4.py
# ch9_4.py
from tkinter import *
def bgUpdade(source): # 注意:这里的参数source是必须的
''' 更改窗口背景颜色 '''
red = rSlider.get() # 读取red值
green = gSlider.get() # 读取green值
blue = bSlider.get() # 读取blue值
print("R=%d, G=%d, B=%d" % (red, green, blue)) # 打印色彩数值
myColor = "#%02x%02x%02x" % (red,green,blue) # 将颜色转成十六进制字符串
print(myColor) # 打印这个代表颜色的字符串
root.config(bg=myColor) # 设置窗口背景颜色
root = Tk()
root.title("ch9_4")
root.geometry("360x240")
rSlider = Scale(root,from_=0,to=255,label="红色分量",command=bgUpdade)
gSlider = Scale(root,from_=0,to=255,label="绿色分量",command=bgUpdade)
bSlider = Scale(root,from_=0,to=255,label="蓝色分量",command=bgUpdade)
gSlider.set(125) # 设置green分量的初始值是125
rSlider.grid(row=0, column=0) # row=0,col=0
gSlider.grid(row=0, column=1) # row=0,col=1
bSlider.grid(row=0, column=2) # row=0,col=2
root.mainloop()
ch9_5.py
# ch9_5.py
from tkinter import *
def bgUpdade(source): # 注意:这里的参数source是必须的
''' 更改窗口背景颜色 '''
red = rSlider.get() # 读取red值
green = gSlider.get() # 读取green值
blue = bSlider.get() # 读取blue值
print("R=%d, G=%d, B=%d" % (red, green, blue)) # 打印色彩数值
myColor = "#%02x%02x%02x" % (red,green,blue) # 将颜色转成十六进制字符串
print(myColor) # 打印这个代表颜色的字符串
root.config(bg=myColor) # 设置窗口背景颜色
def resetColor():
rSlider.set(0)
gSlider.set(0)
bSlider.set(0)
root = Tk()
root.title("ch9_5")
root.geometry("360x240")
fm = Frame(root) # 创建框架
fm.pack() # 自动放置在上方中央
rSlider = Scale(fm,from_=0,to=255,label="红色分量",command=bgUpdade)
gSlider = Scale(fm,from_=0,to=255,label="绿色分量",command=bgUpdade)
bSlider = Scale(fm,from_=0,to=255,label="蓝色分量",command=bgUpdade)
gSlider.set(125) # 设置green分量的初始值是125
rSlider.grid(row=0, column=0) # row=0,col=0
gSlider.grid(row=0, column=1) # row=0,col=1
bSlider.grid(row=0, column=2) # row=0,col=2
btn = Button(root,text="Reset Color",command=resetColor)
btn.pack(pady=5)
root.mainloop()
ch9_6.py
# ch9_6.py
from tkinter import *
root = Tk()
root.title("ch9_6")
root.geometry("300x100")
spin = Spinbox(root,from_=10,to=30,increment=2)
spin.pack(pady=20)
root.mainloop()
ch9_7.py
# ch9_7.py
from tkinter import *
def printInfo(): # 打印显示的值
print(sp.get())
root = Tk()
root.title("ch9_7")
sp = Spinbox(root,from_=0,to=10,command=printInfo)
sp.pack(pady=10,padx=10)
root.mainloop()
ch9_8.py
# ch9_8.py
from tkinter import *
def printInfo(): # 打印显示的值
print(sp.get())
root = Tk()
root.title("ch9_8")
sp = Spinbox(
root,
# values=(10,38,170,101), # 以元组形式存储数值
values=[10,38,170,101], # 以列表形式存储数值
command=printInfo
)
sp.pack(pady=10,padx=10)
root.mainloop()
ch9_9.py
# ch9_9.py
from tkinter import *
def printInfo(): # 打印显示的值
print(sp.get())
root = Tk()
root.title("ch9_9")
# cities = ("北京","上海","广州","深圳") # 以元组形式存储数值
cities = ["北京","上海","广州","深圳"] # 以列表形式存储数值
sp = Spinbox(
root,
values=cities, # 以元组形式存储数值
command=printInfo
)
sp.pack(pady=10,padx=10)
root.mainloop()