tkinter打印界面
时间: 2023-06-17 21:07:57 浏览: 83
Thinking in Tkinter
5星 · 资源好评率100%
要在Tkinter中打印界面,可以使用`PrintDialog`和`print`函数。
首先,导入`tkinter`和`tkinter.filedialog`模块:
```python
import tkinter as tk
from tkinter import filedialog
```
然后,创建一个打印对话框:
```python
def print_dialog():
# 创建打印对话框
print_file = filedialog.asksaveasfilename(defaultextension='.txt',
filetypes=[('Text Files', '*.txt'), ('All Files', '*.*')])
if print_file:
# 打印界面内容到文件
with open(print_file, 'w', encoding='utf-8') as f:
f.write(text_box.get('1.0', 'end'))
```
在上面的代码中,`asksaveasfilename`函数显示一个文件保存对话框,并返回用户选择的文件名。然后,使用`open`函数打开文件并将文本框中的内容写入文件。
最后,将`print_dialog`函数绑定到一个按钮上,用户可以点击该按钮来打印界面内容:
```python
# 创建一个按钮来打印界面内容
print_button = tk.Button(root, text='Print', command=print_dialog)
print_button.pack()
```
完整的代码示例:
```python
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.geometry('300x300')
# 创建一个文本框
text_box = tk.Text(root)
text_box.pack()
def print_dialog():
# 创建打印对话框
print_file = filedialog.asksaveasfilename(defaultextension='.txt',
filetypes=[('Text Files', '*.txt'), ('All Files', '*.*')])
if print_file:
# 打印界面内容到文件
with open(print_file, 'w', encoding='utf-8') as f:
f.write(text_box.get('1.0', 'end'))
# 创建一个按钮来打印界面内容
print_button = tk.Button(root, text='Print', command=print_dialog)
print_button.pack()
root.mainloop()
```
阅读全文