Python怎么實現啟動工具箱顯示圖形界面

本篇內容介紹了“Python怎么實現啟動工具箱顯示圖形界面”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

成都創(chuàng)新互聯公司長期為1000+客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態(tài)環(huán)境。為襄陽企業(yè)提供專業(yè)的成都網站設計、成都網站制作,襄陽網站改版等技術服務。擁有10余年豐富建站經驗和眾多成功案例,為您定制開發(fā)。

Python 自帶的方式

第一種方式就是直接改 py 文件后綴為 pyw,這樣系統(tǒng)就會自動調用 pythonw.exe 來執(zhí)行你的程序。這樣你就不必忍受黑乎乎的 cmd 窗口,也不會因為關閉了 cmd 窗口連帶著關閉了程序。

Python怎么實現啟動工具箱顯示圖形界面

然后我們可以在桌面新建一個快捷方式,右鍵在屬性里更改圖標,這樣我們就創(chuàng)建了一個圖形界面的快捷啟動方式。

批處理文件

第二種方式與第一種類似,也是通過 pythonw.exe 執(zhí)行 pyw 文件,不過換成了 bat 批處理文件的形式,換湯不換藥。

我們新建一個 txt 文件,在其中輸入這樣兩行代碼,并將其保存為 .bat 文件。start 后面的第一個字符串表示你的pythonw.exe 文件所在位置,一般在你的 Python 安裝目錄下面,和 python.exe 在同一目錄。第二個字符表示你的 pyw 程序的地址,最好使用絕對地址。

@echo off
start  "D:\python372\pythonw.exe" "D:\\QQPCMgr\Desktop\Pytho高效編程\start.pyw"

同樣,你可以創(chuàng)建快捷方式,并更改圖標。

用 Python 實現啟動工具箱

下面,我將演示如何使用 PyQt5 實現一個啟動工具箱。

主要實現了以下功能:

  • 通過工具欄可以直接執(zhí)行 python 程序

  • 九宮格右鍵保存或者刪除快速啟動鏈接

  • 九宮格左鍵點擊顯示圖形界面

為了方便使用,我們可以把這個軟件打包成 exe 文件,或者重命名為 pyw 后綴,并創(chuàng)建快捷方式便于使用。

Python怎么實現啟動工具箱顯示圖形界面

關鍵點一:

這個程序的核心思想就是再開一個進程來執(zhí)行 py 文件,但是此時程序的路徑為啟動管理器的路徑。所以說,如果你要打開的程序,比方說“PDF閱讀器”,涉及到了文件路徑,一定要使用絕對路徑。如果使用了相對路徑,必須在你的“PDF閱讀器”源代碼關于路徑的地方加上下面這行代碼。下面這行代碼把當前路徑更改為你的“PDF閱讀器”所在目錄。

os.chdir(os.path.dirname(os.path.realpath(__file__)))

關鍵點二:

我們使用 QProcess 來管理進程。首先創(chuàng)建一個 QProcess 對象,調用 startDetched 方法。startDetched 方法可以在主進程之外新開一個進程。也就是說,如果我們打開或者關閉 “PDF閱讀器” ,并不影響啟動管理器的運行。

from PyQt5.QtCore import QProcess
def open(self):    fname = self.get_file()    if fname:
        process = QProcess()        process.startDetached('python', [fname])

關鍵點三:

重寫 Button 按鍵類以支持右鍵菜單及一系列操作。

其中 parent 為按鈕依附的主程序。

class MyButton(QPushButton):
    def __init__(self, parent=None):
        super(MyButton, self).__init__(parent)

重寫以下功能:

  • 字體大小及樣式

  • 支持右鍵菜單(添加、刪除功能)

  • 重寫左鍵點擊事件

要保存的按鈕信息包括:按鈕名稱(你設置的應用名稱)、按鈕對應地址、按鈕狀態(tài)(用于判斷按鈕有沒有綁定地址,如果有的話,不支持修改覆蓋名稱操作)。

def initUi(self):
    # 右鍵菜單工具欄    addAction = QAction('添加', self)
    addAction.triggered.connect(self.add)
    delAction = QAction('刪除', self)
    delAction.triggered.connect(self.delete)
    self.addAction(addAction)
    self.addAction(delAction)
    self.clicked.connect(self.run)

關鍵點四:

與數據庫交互,與上次 500 行代碼實現 PDF 閱讀器的思想基本相同,增加了上下文管理器,提高代碼可讀性。

數據庫保存的信息,就是關鍵點三中提到的 button 的屬性。

def save2db(start):
    with DBManger(starter) as conn:
        conn.execute("INSERT INTO starter Values (?,?,?)",
                (start.fname, start.name, start.state))        conn.commit()

“Python怎么實現啟動工具箱顯示圖形界面”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯網站,小編將為大家輸出更多高質量的實用文章!

網站名稱:Python怎么實現啟動工具箱顯示圖形界面
文章路徑:http://muchs.cn/article20/ppjgco.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站建設、微信小程序、面包屑導航、網站維護、動態(tài)網站、品牌網站設計

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

手機網站建設