程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python tkinter - 第9章 多選按鈕控件(Checkbutton)方法

編輯:Python

9.2 多選按鈕的方法
以下為常用的方法:

方法描述deselect()清除多選按鈕選中選項。flash()在激活狀態顏色和正常顏色之間閃爍幾次多選按鈕,但保持它開始時的狀態。invoke()可以調用此方法來獲得與用戶單擊多選按鈕以更改其狀態時發生的操作相同的操作select()設置多選按鈕為選中。toggle()選中與沒有選中之間切換

9.2.1 select()
設置某一個多選按鈕為選中的狀態,可以通過select()指定特定的單選按鈕被選中。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,bg='red',text='紅色',bd=5)
b1.pack()
b2 = tk.Checkbutton(root,text='藍色',bg='blue',bd=5)
b2.pack()
b3 = tk.Checkbutton(root,text='綠色',bg='green',bd=5)
b3.pack()
b2.select()
root.mainloop()

結果:

9.2.2 deselect()
跟select方法是相反的操作,取消某個單選按鈕被選中。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,bg='red',text='紅色',bd=5)
b1.pack()
b2 = tk.Checkbutton(root,text='藍色',bg='blue',bd=5)
b2.pack()
b3 = tk.Checkbutton(root,text='綠色',bg='green',bd=5)
b3.pack()
def deselect():
b2.deselect()
b4=tk.Button(root,text='取消藍色',command=deselect)
b4.pack()
root.mainloop()

結果:


9.2.3 flash()
在激活狀態顏色和正常顏色之間閃爍幾次多選按鈕,但保持它開始時的狀態。必須設置activeforeground或者activebackground中的任何一個或者全部,否則沒有效果。注意只有被選中的按鈕才會起作用。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
check=[tk.StringVar(),tk.StringVar(),tk.StringVar()]
for i in range(0,3):
check[i].set("0")
b1 = tk.Checkbutton(root,bg='red',text='紅色',bd=5,
variable=check[0],activebackground='green',
activeforeground='yellow')
b1.pack()
b2 = tk.Checkbutton(root,text='藍色',bg='blue',bd=5,
variable=check[1],activebackground='red',
activeforeground='yellow')
b2.pack()
b3 = tk.Checkbutton(root,text='綠色',bg='green',bd=5,
variable=check[2],activebackground='blue',
activeforeground='yellow')
b3.pack()
def flash():
if check[0].get()=="1":
b1.flash()
if check[1].get()=="1":
b2.flash()
if check[2].get()=="1":
b3.flash()
b4=tk.Button(root,text='Flash',command=flash)
b4.pack()
root.mainloop()

9.2.4 invoke()
模擬多選按鈕被選中的情況。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,bg='red',text='紅色',bd=5)
b1.pack()
b2 = tk.Checkbutton(root,text='藍色',bg='blue',bd=5)
b2.pack()
b3 = tk.Checkbutton(root,text='綠色',bg='green',bd=5)
b3.pack()
def invoke():
b2.invoke()
b4=tk.Button(root,text='Invoke',command=invoke)
b4.pack()
root.mainloop()

結果:


9.2.5 toggle()
切換多選按鈕的狀態。如果目前是選中的狀態,則變為未選中。反之亦然。toggle()的效果也invoke()是一樣的。

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,bg='red',text='紅色',bd=5)
b1.pack()
b2 = tk.Checkbutton(root,text='藍色',bg='blue',bd=5)
b2.pack()
b3 = tk.Checkbutton(root,text='綠色',bg='green',bd=5)
b3.pack()
def toggle():
b2.toggle()
b4=tk.Button(root,text='Toggle',command=toggle)
b4.pack()
root.mainloop()

結果:


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved