67.md 1.9 KB
Newer Older
W
wizardforcel 已提交
1
# Tkinter 复选框
W
init  
wizardforcel 已提交
2 3 4

> 原文: [https://pythonbasics.org/tkinter_checkbox/](https://pythonbasics.org/tkinter_checkbox/)

W
wizardforcel 已提交
5
复选框小部件非常明显,您根本无需考虑它们。 它们就像开/关开关,您可以有多个开关。 它是 Tkinter 中包含的小部件之一。
W
init  
wizardforcel 已提交
6 7 8

如果您希望单击零个或多个选项,则可以使用一个复选框。 否则,您将使用单选按钮或其他类型的按钮。

W
wizardforcel 已提交
9

W
init  
wizardforcel 已提交
10 11 12

## 复选框

W
wizardforcel 已提交
13
### Tkinter 复选框
W
init  
wizardforcel 已提交
14

W
wizardforcel 已提交
15
Tkinter 复选框小部件是一个非常基本的开关。 Tkinter 中的复选框称为`CheckButton`。 您可以添加两个复选框,如下所示:
W
init  
wizardforcel 已提交
16

W
wizardforcel 已提交
17
```py
W
init  
wizardforcel 已提交
18 19 20 21 22 23 24
c1 = tk.Checkbutton(window, text='Python',variable=var1, onvalue=1, offvalue=0, command=print_selection)
c1.pack()
c2 = tk.Checkbutton(window, text='C++',variable=var2, onvalue=1, offvalue=0, command=print_selection)
c2.pack()

```

W
wizardforcel 已提交
25
### 示例
W
init  
wizardforcel 已提交
26 27 28

下面的程序在窗口中添加了几个检查按钮。 如果单击复选框,则上面的文本会更改。

W
wizardforcel 已提交
29
```py
W
init  
wizardforcel 已提交
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
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tkinter as tk

window = tk.Tk()
window.title('My Window')
window.geometry('100x100')

l = tk.Label(window, bg='white', width=20, text='empty')
l.pack()

def print_selection():
    if (var1.get() == 1) & (var2.get() == 0):
        l.config(text='I love Python ')
    elif (var1.get() == 0) & (var2.get() == 1):
        l.config(text='I love C++')
    elif (var1.get() == 0) & (var2.get() == 0):
        l.config(text='I do not anything')
    else:
        l.config(text='I love both')

var1 = tk.IntVar()
var2 = tk.IntVar()
c1 = tk.Checkbutton(window, text='Python',variable=var1, onvalue=1, offvalue=0, command=print_selection)
c1.pack()
c2 = tk.Checkbutton(window, text='C++',variable=var2, onvalue=1, offvalue=0, command=print_selection)
c2.pack()

window.mainloop()

```

![tkinter checkbox](img/313eafe86a326c40ae5a767c1d4d8a9d.jpg)

[下载 Tkinter 示例](https://gum.co/ErLc)