67.md 2.0 KB
Newer Older
W
init  
wizardforcel 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 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
# tkinter 复选框

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

复选框小部件非常明显,您根本无需考虑它们。 它们就像开/关开关,您可以有多个开关。 它是 tkinter 中包含的小部件之一。

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

**相关课程:** [带有 Tkinter 的 Python 桌面应用程序](https://gum.co/ErLc)

## 复选框

### tkinter 复选框

tkinter 复选框小部件是一个非常基本的开关。 tkinter 中的复选框称为 CheckButton。 您可以添加两个复选框,如下所示:

```
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()

```

### 演示

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

```
#!/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)