tkinter 手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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()
```
### Grid
将控件放置在网格中。
例子:
```python
from tkinter import *
root = Tk()
label1 = Label(root, text='Label 1')
label1.grid(row=0, column=0)
label2 = Label(root, text='Label 2')
label2.grid(row=0, column=1)
label3 = Label(root, text='Label 3')
label3.grid(row=1, column=0, columnspan=2)
root.mainloop()
```
### Place
手动设置控件的位置和大小。
例子:
```python
from tkinter import *
root = Tk()
label1 = Label(root, text='Label 1', bg='red')
label1.place(x=0, y=0, width=50, height=50)
label2 = Label(root, text='Label 2', bg='green')
label2.place(x=50, y=0, width=50, height=50)
label3 = Label(root, text='Label 3', bg='blue')
label3.place(x=0, y=50, width=100, height=50)
root.mainloop()
```
以上是一些常用的函数和方法,可以用于创建图形界面程序。
更多的函数和方法可以查看官方文档。