📜  如何使用 Tkinter 打印硬拷贝?

📅  最后修改于: 2022-05-13 01:54:38.265000             🧑  作者: Mango

如何使用 Tkinter 打印硬拷贝?

先决条件: Tkinter,win32api

Python为开发 GUI(图形用户界面)提供了多种选择。在所有 GUI 方法中,tkinter 是最常用的方法。它是Python附带的 Tk GUI 工具包的标准Python接口。使用 tkinter 的Python是创建 GUI 应用程序的最快和最简单的方法。使用 tkinter 创建 GUI 是一项简单的任务。

在本文中,我们将讨论如何使用 Tkinter 在打印机中打印硬拷贝。

循序渐进的方法

  • 制作一个 Tkinter 窗口。
  • 添加一个按钮。
  • 使用打开要打印的文件 Tkinter 中的askopenfilename()方法。
  • 使用 win32api 中的ShellExecute()方法打印它。

创建普通的 Tkinter 窗口

Python3
# Import Required Library
from tkinter import *
  
# Create Tkinter Object
root = Tk() 
  
# Set Title and geometry
root.title('Print Hard Copies') 
root.geometry("200x200")
  
# Make Button
Button(root,text="Print FIle").pack()
  
# Execute Tkinter
root.mainloop()


Python3
# Import Required Library
from tkinter import *
import win32api
from tkinter import filedialog
  
# Create Tkinter Object
root = Tk()
  
# Set Title and geometry
root.title('Print Hard Copies')
root.geometry("200x200")
  
# Print File Function
def print_file():
    
    # Ask for file (Which you want to print)
    file_to_print = filedialog.askopenfilename(
      initialdir="/", title="Select file", 
      filetypes=(("Text files", "*.txt"), ("all files", "*.*")))
      
    if file_to_print:
        
        # Print Hard Copy of File
        win32api.ShellExecute(0, "print", file_to_print, None, ".", 0)
  
# Make Button
Button(root, text="Print FIle", command=print_file).pack()
  
# Execute Tkinter
root.mainloop()


输出:

使用的方法

  • askopenfilename:此方法用于打开给定的文件。
  • ShellExecute:用于执行系统的shell命令。

下面是实现

蟒蛇3

# Import Required Library
from tkinter import *
import win32api
from tkinter import filedialog
  
# Create Tkinter Object
root = Tk()
  
# Set Title and geometry
root.title('Print Hard Copies')
root.geometry("200x200")
  
# Print File Function
def print_file():
    
    # Ask for file (Which you want to print)
    file_to_print = filedialog.askopenfilename(
      initialdir="/", title="Select file", 
      filetypes=(("Text files", "*.txt"), ("all files", "*.*")))
      
    if file_to_print:
        
        # Print Hard Copy of File
        win32api.ShellExecute(0, "print", file_to_print, None, ".", 0)
  
# Make Button
Button(root, text="Print FIle", command=print_file).pack()
  
# Execute Tkinter
root.mainloop()

在执行上面的Python脚本时,会弹出一个tkinter窗口,需要上传一个文本文件,上传后,文本文件被打印出来。