午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Python GUI 編程:tkinter 初學(xué)者入門指南——復(fù)選框

 信息科技云課堂 2024-10-22 發(fā)布于山東

在本文中,將介紹 tkinter Checkbox 復(fù)選框小部件以及如何有效地使用它。

復(fù)選框是一個(gè)允許選中和取消選中的小部件。復(fù)選框可以保存一個(gè)值,通常,當(dāng)希望讓用戶在兩個(gè)值之間進(jìn)行選擇時(shí),可以使用復(fù)選框。

要?jiǎng)?chuàng)建復(fù)選框,請(qǐng)使用如下構(gòu)造函數(shù)。

checkbox = tk.Checkbutton(master,
                text='<checkbox label>',
                command=check_changed,
                variable=checkbox_var,
                onvalue='<value_when_checked>',
                offvalue='<value_when_unchecked>')
  • text 參數(shù):指定復(fù)選框的顯示標(biāo)簽。

  • command 參數(shù):選中或取消選中復(fù)選框時(shí)調(diào)用的命令。

  • variable 參數(shù):保存復(fù)選框當(dāng)前值的變量。選中復(fù)選框,則變量的值為 1。否則為 0。

  • onvalue、offvalue 參數(shù):指定 variable 變量 0 和 1 以外的其他值。

import tkinter as tk
from tkinter.messagebox import showinfo
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Checkbutton 復(fù)選框演示')

# 創(chuàng)建變量,保存復(fù)選框的值
agr = tk.StringVar()

# 定義函數(shù),復(fù)選框狀態(tài)發(fā)生變化就調(diào)用該函數(shù)
def agr_changed():
    tk.messagebox.showinfo(title='是否同意', message=agr.get())

# 創(chuàng)建復(fù)選框
checkbox = tk.Checkbutton(root,
                          text='是否同意',
                          command=agr_changed,
                          variable=agr,
                          onvalue='同意',
                          offvalue='不同意')
checkbox.pack()
root.mainloop()

以下示例使用 indicatoron=0 選項(xiàng)取消復(fù)選框前面的小方塊,取消復(fù)選框的 Text 并顯示圖像。

import tkinter as tk
from tkinter.messagebox import showinfo
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Checkbutton 復(fù)選框演示')
frame = tk.LabelFrame(root, text='請(qǐng)選擇', padx=30, pady=10)
frame.pack(padx=100, pady=100)
checked_image = tk.PhotoImage(file="logo.png")
unchecked_image = tk.PhotoImage(file="logo2.png")
checkbutton_1 = tk.Checkbutton(frame, indicatoron=0, overrelief="sunken", image=unchecked_image, selectimage=checked_image)
checkbutton_1.pack(side=tk.LEFT)
checkbutton_2 = tk.Checkbutton(frame, indicatoron=0, overrelief="sunken", image=unchecked_image, selectimage=checked_image)
checkbutton_2.pack(side=tk.LEFT)
checkbutton_3 = tk.Checkbutton(frame, indicatoron=0, overrelief="sunken", image=unchecked_image, selectimage=checked_image)
checkbutton_3.pack(side=tk.LEFT)
checkbutton_4 = tk.Checkbutton(frame, indicatoron=0, overrelief="sunken", image=unchecked_image, selectimage=checked_image)
checkbutton_4.pack(side=tk.LEFT)
root.mainloop()

Checkbox 復(fù)選框選項(xiàng)

方法說明
deselect()取消復(fù)選框選擇。
select()選擇復(fù)選框。
toggle()選擇和取消選擇之間切換。

以下示例設(shè)置兩個(gè)按鈕,利用 deselect() 和 select() 方法,全選和取消全選所有復(fù)選框。

import tkinter as tk
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Checkbutton 復(fù)選框演示')

def clear_selection():
    cb1.deselect()
    cb2.deselect()
    cb3.deselect()
    cb4.deselect()
    cb5.deselect()
    cb6.deselect()
    
def selection():
    cb1.select()
    cb2.select()
    cb3.select()
    cb4.select()
    cb5.select()
    cb6.select()
    
var1 = tk.BooleanVar()
var2 = tk.BooleanVar()
var3 = tk.BooleanVar()
var4 = tk.BooleanVar()
var5 = tk.BooleanVar()
var6 = tk.BooleanVar()

frame1 = tk.LabelFrame(root, text='Group 1', padx=30, pady=10)
frame1.pack(side=tk.LEFT, padx=50)
frame2 = tk.LabelFrame(root, text='Group 2', padx=30, pady=10)
frame2.pack(side=tk.RIGHT, padx=50)
cb1 = tk.Checkbutton(frame1, text='Number 1', variable=var1)
cb1.pack()
cb2 = tk.Checkbutton(frame1, text='Number 2', variable=var2)
cb2.pack()
cb3 = tk.Checkbutton(frame1, text='Number 3', variable=var3)
cb3.pack()
cb4 = tk.Checkbutton(frame2, text='Number 4', variable=var4)
cb4.pack()
cb5 = tk.Checkbutton(frame2, text='Number 5', variable=var5)
cb5.pack()
cb6 = tk.Checkbutton(frame2, text='Number 6', variable=var6)
cb6.pack()

button1 = tk.Button(root, text='Unselect all', command=clear_selection)
button1.pack()
button2 = tk.Button(root, text='Select All', command=selection)
button2.pack()
root.mainloop()

Checkbox 復(fù)選框選項(xiàng)

選項(xiàng)說明
master指定復(fù)選框的父級(jí)窗口或框架。
variable保存復(fù)選框當(dāng)前值的變量,用于存儲(chǔ)復(fù)選框的選中狀態(tài)。
onvalue指定當(dāng)復(fù)選框被選中時(shí),variable變量的值。
offvalue指定當(dāng)復(fù)選框未被選中時(shí),variable變量的值。
command指定一個(gè)函數(shù),當(dāng)復(fù)選框的狀態(tài)改變時(shí),該函數(shù)將被調(diào)用。
text指定復(fù)選框旁邊顯示的文本。
image指定一個(gè)圖像對(duì)象,顯示在復(fù)選框旁邊。
compound指定圖像和文本的對(duì)齊方式,如TOP, BOTTOM, LEFT, RIGHT。
invcmd指定一個(gè)函數(shù),當(dāng)復(fù)選框的狀態(tài)改變時(shí),如果command指定的函數(shù)返回False,則調(diào)用此函數(shù)。
selectcolor指定復(fù)選框被選中時(shí)的背景顏色。
height指定復(fù)選框的高度(通常用于顯示圖像)。
width指定復(fù)選框的寬度(通常用于顯示文本)。
anchor指定文本的對(duì)齊方式,如W(西), E(東), N(北), S(南), CENTER。
justify指定文本的對(duì)齊方式,如LEFT, RIGHT, CENTER。
padx指定復(fù)選框與其文本之間的水平填充。
pady指定復(fù)選框與其文本之間的垂直填充。
indicatoron是否繪制前邊作為選擇的小方塊,設(shè)置為0,可以將整個(gè)小部件變成復(fù)選框。

點(diǎn)亮在看,你最好看!

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多