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