GUI系列之 PyQt5又是什麼鬼

2021-10-19 23:08:50 字數 1315 閱讀 2017

想寫乙個pdf_2_word的程式,查來查去,都是對指定目錄下的pdf進行轉換。見字如面。

可貧僧想實現讓使用者自己開啟乙個資料夾,來選擇檔案。而不是把pdf放到指定的資料夾進行轉換。於是查到了pyqt5。

先來說說什麼是pyqt吧

pyqt 是 qt 庫 的 python 版本,是乙個建立gui應用程式的工具包。它是python程式語言和qt庫的成功融合。pyqt是由phil thompson 開發,是qt在python中的橋梁。

於是又很好奇qt是什麼意思?qt 是乙個c++編寫的跨平台開發框架。

qt的建立者baihaarard nord和 eirik chambe-eng都曾經在一家瑞典公司供職,他們是同事。那時(2023年)他們做乙個專案,這個專案需要在 unix,macintosh,windows上執行同乙個 gui,當時可是沒有如今這麼多的開發工具。一天(one day,)他們工作之餘去公園散步,曬太陽,喝咖啡。haarard 說:「we need an object-oriented display system。」這成為了後來 qt最重要的思想:提供物件導向的跨平台的 gui框架。看到這裡我不禁感慨:程式猿只有在輕鬆愉快的環境中才會生產出出色的成果。我不禁想大聲疾呼:「我也要喝咖啡,我也要散步+曬太陽!」冷靜冷靜,先回來現實中來。說做就做,haarard 開始寫**,eirik 負責設計,qt 在襁褓中逐漸成長,後來,他們開始讓 qt 闖蕩江湖,兩個人開始了創業的艱辛歷程。

字母 q 作為所有類的字首,是因為 haarard 手寫這個字母看起來特別的漂亮;

字母 t 代表「toolkit」,在 xt, x toolkit 等中得到靈感。

對這兩個年輕人,1994 年是非常艱難的一年,他們沒有客戶,沒有錢,只有還沒有完全實現的產品。關鍵時刻,他們的妻子幫他們渡過了難關。看,多麼勵志的故事,程式猿們,加油吧!

言歸正傳:

qtwidgets是pyqt5下面的乙個模組,包含了用於構建介面的一系列ui元素元件。

import sys

# 例項化乙個應用物件

# 視窗介面的基本控制項,它提供了基本的應用構造器。

#預設情況下,構造器是沒有父級的,沒有父級的構造器被稱為視窗(window)。

w = qwidget(

)# 讓控制項在桌面上顯示出來。控制項在記憶體裡建立,之後才能在顯示器上顯示出來。

w.show(

)# 確保主迴圈安全退出

))

)

==若干**……==

))在這方面pyqt和python有個很大的不同。雖然python的一切也需要呼叫才能生效,但是一旦被呼叫就會立即有反應。pyqt則是類和物件的層層巢狀,需要你逐層呼叫。

GUI程式設計Pyqt5之QtDesigner控制項

垂直布局 verticallayout 水平布局 horizontallayout 網格布局 gridlayout 表單布局 formlayout 絕對布局 預設 水平間隔 horizontalspacer 豎直間隔 verticalspacer 常規按鈕 pushbutton 工具按鈕 toolb...

GUI程式設計Pyqt5之設定夥伴關係

講述表單布局管理器時提到了設定乙個標籤和乙個部件的夥伴關係。其實,夥伴 buddy 是在 qlabel 類中提出的乙個概念。因為乙個標籤經常用作乙個互動式部件的說明,就像在講表單布局管理器時看到的那樣,乙個 lineedit 部件前面有乙個標籤說明這個 lineedit 的作用。為了方便定位,qla...

GUI學習之一 PyQt5初識

我們在第 篇裡先演示了gui的功能,其實python有多個庫是支援gui程式設計的,python官網列出了大量的說明,其中包括了原生的tkinter 還有許多第三方庫 pyqt pyside wxpython pygui kivy.等等 首先,我們要明白,對任意乙個庫來說,都是沒有最好的,只由最合適...