tkinter 手册

  • 格式:docx
  • 大小:37.68 KB
  • 文档页数:8

tkinter 手册

tkinter 是 Python 的标准 GUI 库,可以用来开发图形界面程序。它基于 Tk GUI 工具箱,并提供了 Python 接口。下面是一些常用函数和方法。

## 窗口类

### Tk

这是主窗口类,它表示应用程序的主窗口。

例子:

```python

from tkinter import *

root = Tk()

root.mainloop()

```

### Toplevel

这是顶层窗口类,可以用于创建多窗口应用程序。

例子:

```python

from tkinter import *

root = Tk()

top = Toplevel(root)

top.mainloop()

```

## 控件类

### Label

文本标签,用于显示文本内容。

例子:

```python

from tkinter import * root = Tk()

label = Label(root, text='Hello, World!')

label.pack()

root.mainloop()

```

### Button

按钮,用于触发事件。

例子:

```python

from tkinter import *

def on_click():

print('Clicked!')

root = Tk()

button = Button(root, text='Click me', command=on_click)

button.pack()

root.mainloop()

```

### Entry

文本框,用于输入文本内容。

例子:

```python

from tkinter import *

root = Tk()

entry = Entry(root)

entry.pack()

root.mainloop()

```

### Text

文本框,用于显示和编辑文本内容。

例子:

```python from tkinter import *

root = Tk()

text = Text(root)

text.pack()

root.mainloop()

```

### Canvas

画布,用于绘制图形和显示图片。

例子:

```python

from tkinter import *

root = Tk()

canvas = Canvas(root, width=200, height=200)

canvas.pack()

canvas.create_rectangle(50, 50, 150, 150, fill='red')

root.mainloop()

```

### Menu

菜单,用于显示应用程序的菜单。

例子:

```python

from tkinter import *

def on_file_new():

print('New')

def on_file_open():

print('Open')

root = Tk()

menubar = Menu(root)

file_menu = Menu(menubar, tearoff=0)

file_menu.add_command(label='New', command=on_file_new)

file_menu.add_command(label='Open', command=on_file_open) menubar.add_cascade(label='File', menu=file_menu)

root.config(menu=menubar)

root.mainloop()

```

### Frame

框架,用于组织和布局控件。

例子:

```python

from tkinter import *

root = Tk()

label_frame = LabelFrame(root, text='Fruits')

label_frame.pack()

listbox = Listbox(label_frame)

listbox.insert(END, 'Apple')

listbox.insert(END, 'Banana')

listbox.insert(END, 'Orange')

listbox.pack()

root.mainloop()

```

### Scrollbar

滚动条,用于控制文本框和列表框等控件的滚动。

例子:

```python

from tkinter import *

root = Tk()

text = Text(root)

text.pack(side=LEFT)

scrollbar = Scrollbar(root, command=text.yview)

scrollbar.pack(side=LEFT, fill=Y)

text.config(yscrollcommand=scrollbar.set)

root.mainloop() ```

### Checkbutton

复选框,用于选择多个选项中的一个或多个。

例子:

```python

from tkinter import *

root = Tk()

var1 = BooleanVar()

var2 = BooleanVar()

checkbutton1 = Checkbutton(root, text='Option 1',

variable=var1)

checkbutton1.pack()

checkbutton2 = Checkbutton(root, text='Option 2',

variable=var2)

checkbutton2.pack()

root.mainloop()

```

### Radiobutton

单选框,用于选择多个选项中的一个。

例子:

```python

from tkinter import *

root = Tk()

var = StringVar()

radiobutton1 = Radiobutton(root, text='Option 1',

variable=var, value='Option 1')

radiobutton1.pack()

radiobutton2 = Radiobutton(root, text='Option 2',

variable=var, value='Option 2')

radiobutton2.pack()

root.mainloop() ```

### Scale

滑块,用于选择一个范围内的值。

例子:

```python

from tkinter import *

root = Tk()

scale = Scale(root, from_=0, to=100, orient=HORIZONTAL)

scale.pack()

root.mainloop()

```

### Spinbox

旋转框,用于选择一个范围内的值。

例子:

```python

from tkinter import *

root = Tk()

spinbox = Spinbox(root, from_=0, to=100)

spinbox.pack()

root.mainloop()

```

### Listbox

列表框,用于显示和选择多个选项。

例子:

```python

from tkinter import *

root = Tk()

listbox = Listbox(root)

listbox.insert(END, 'Option 1')

listbox.insert(END, 'Option 2')

listbox.insert(END, 'Option 3') listbox.pack()

root.mainloop()

```

### Combobox

组合框,用于显示和选择多个选项,类似于列表框和文本框的结合。

例子:

```python

from tkinter import *

from tkinter.ttk import *

root = Tk()

combo = Combobox(root)

combo['values'] = ('Option 1', 'Option 2', 'Option 3')

combo.current(0)

combo.pack()

root.mainloop()

```

## 布局管理器

### Pack

组织控件并将它们包装在一个矩形内。

例子:

```python

from tkinter import *

root = Tk()

label1 = Label(root, text='Label 1')

label1.pack(side=LEFT)

label2 = Label(root, text='Label 2')

label2.pack(side=LEFT)

label3 = Label(root, text='Label 3')

label3.pack(side=LEFT)

root.mainloop()