簡體   English   中英

如何使用Python 3的Tkinter打開和打印文件(在打印機中)?

[英]How to Open and Print a File (In a Printer) using Python 3's Tkinter?

再次向社區問好! 如何在Python 3上使用Tkinter打開LibreOffice或Word文件(在Mac上,但最終在Windows上也是如此)。我的UI有多個按鈕,我想與特定文件關聯,當按下該按鈕時,它應該發送命令到Brother打印機並打印出該文件。 當我在這里時,我還想知道是否存在一個腳本來檢測用戶使用的操作系統,並使用Tkinter來執行單獨的命令(因為Mac和Windows有不同的要求)。 我的代碼如下。

注意:如果您查看“ SignOut”功能,它將把所有內容擰緊。 這就是為什么它被評論。

`from tkinter import*
from tkinter import filedialog
import time


def UserPassCheck():
    if e1.get()=='masteryw' and e2.get()=='10897':
        root.destroy()
        OpenWindow()
    elif e1.get()=='Santosh' and e2.get()=='89882':
        root.destroy()
        OpenWindow()
    elif e1.get()=='Ankur' and e2.get()=='41712':
        OpenWindow()
        root.destroy()
    elif e1.get()=='Suchin' and e2.get()=='09655':
        OpenWindow()
        root.destroy()
    elif e1.get()=='Jing' and e2.get()=='34241':
        OpenWindow()
        root.destroy()
    elif e1.get()=='Vishal' and e2.get()=='98017':
        OpenWindow()
        root.destroy()
    elif e1.get()=='Richard' and e2.get()=='99716':
        OpenWindow()
        root.destroy()
    elif e1.get()=='Veni' and e2.get()=='77601':
        OpenWindow()
        root.destroy()
    else:
        root.destroy()
        root2=Tk()
        root2.title('Error')
        root2.geometry('600x600')
        label5=Label(root2, text='Access Denied. Press Button & Reopen command')
        label5.grid(row=0, column=1)
        buttonagain=Button(root2,text='Try Again?', command=root.destroy)
        buttonagain.grid(row=4, column=1)

root=Tk()
root.title("Secure Login")
root.geometry('600x600')
yw=Label(root, text='YoungWonks Secure Login')
yw.grid(row=1, column=1)
label=Label(root, text='Username')
label.grid(row=2, column=1)
label1=Label(root, text='Password')
label1.grid(row=4, column=1)
e1=Entry(root)
e1.grid(row=2, column=2)
e2=Entry(root, show='*')
e2.grid(row=4, column=2)
buttonlog=Button(root,text= 'Sign In',command=UserPassCheck)
buttonlog.grid(row=6, column=1)

def OpenWindow():
    UI=Tk()
    UI.title('Printer UI')
    UI.geometry('1000x600')
    x=500
    void=Label(UI, text='                                                                                                         ') #To Centre the Button List. DO NOT EDIT EVER IF U DO KYS & CENTRE AGAIN
    void.grid(row=0,column=1)
    button1=Button(UI,text='Scratch Set 1')
    button1.grid(row=0, column=x)
    button2=Button(UI,text='Scratch Set 2')
    button2.grid(row=2, column=x)
    button3=Button(UI,text='SPER Set 1')
    button3.grid(row=4, column=x)
    button4=Button(UI,text='SPER Set 2')
    button4.grid(row=6, column=x)
    button5=Button(UI,text='SPER Set 3')
    button5.grid(row=8, column=x)
    button6=Button(UI,text='SPER Set 4')
    button6.grid(row=10, column=x)
    button7=Button(UI,text='SPER Set 5')
    button7.grid(row=12, column=x)
    button8=Button(UI,text='SPER Set 6')
    button8.grid(row=14, column=x)
    button9=Button(UI,text='GPIO Set 1')
    button9.grid(row=16, column=x)
    button10=Button(UI,text='GPIO Set 2')
    button10.grid(row=18, column=x)
    button11=Button(UI,text='GPIO Set 3')
    button11.grid(row=20, column=x)
    button12=Button(UI,text='GPIO Set 4')
    button12.grid(row=22, column=x)
    button13=Button(UI,text='GPIO Set 5')
    button13.grid(row=24, column=x)
    button14=Button(UI,text='GPIO Set 6')
    button14.grid(row=26, column=x)
    button15=Button(UI,text='Pygame Set 1')
    button15.grid(row=28, column=x)
    button16=Button(UI,text='Pygame Set 2')
    button16.grid(row=30, column=x)
    button17=Button(UI,text='Pygame Set 3')
    button17.grid(row=32, column=x)
    button18=Button(UI,text='Pygame Set 4')
    button18.grid(row=34, column=x)
    button19=Button(UI,text='Pygame Set 5')
    button19.grid(row=36, column=x)
    button20=Button(UI,text='Pygame Set 6')
    button20.grid(row=38, column=x)
    KYS=Button(UI,text='KYS, Logout', command=UI.destroy)
    KYS.grid(row=40, column=x)

'''def SignOut():
    UI.destroy()
    root=Tk()
    root.title("Secure Login")
    root.geometry('600x600')
    yw=Label(root, text='YoungWonks Secure Login')
    yw.grid(row=1, column=1)
    label=Label(root, text='Username')
    label.grid(row=2, column=1)
    label1=Label(root, text='Password')
    label1.grid(row=4, column=1)
    e1=Entry(root)
    e1.grid(row=2, column=2)
    e2=Entry(root, show='*')
    e2.grid(row=4, column=2)
    buttonlog=Button(root,text= 'Sign In',command=UserPassCheck)
    buttonlog.grid(row=6, column=1)'''



root.mainloop()
`

您可以使用platform模塊來檢測操作系統。 像這樣:

import platform
print platform.system()
# Windows / Linux
if platform.system() == "Windows":
    # Do this
if platform.system() == "Linux":
    # Do this differently

您可以使用command參數為tkinter.Button創建回調:

 new_button = Button(master, text = "Some button", command = function)

對於Word文檔,您可以使用python-docx ,您可以在此處找到文檔。 確實需要在不同平台上以不同方式完成文件的打印。 您可以在這里找到答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM