最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

PyQt初識(shí)

2021-12-01 08:59 作者:海鷗之道  | 我要投稿

????在目前的軟件設(shè)計(jì)過程中,圖形用戶界面(GUI)的設(shè)計(jì)相當(dāng)重要,美觀、易用的用戶界面能夠在很大程度上提高軟件的使用量,因此許多軟件都在用戶界面上傾注了大量的精力。

在介紹PyQt框架之前,我們先來了解什么是圖形用戶界面(GUI)。

以下來自百度百科:

????GUI是 Graphical User Interface的英文簡(jiǎn)稱,即圖形用戶界面,準(zhǔn)確地說,GUI就是屏幕產(chǎn)品的視覺體驗(yàn)和互動(dòng)操作部分。GUI是一種結(jié)合計(jì)算機(jī)科學(xué)、美學(xué)、心理學(xué)、行為學(xué)及各商業(yè)領(lǐng)域需求分析的人機(jī)系統(tǒng)工程,強(qiáng)調(diào)人—機(jī)-環(huán)境三者作為一個(gè)系統(tǒng)進(jìn)行總體設(shè)計(jì)。

Python最初是作為一門腳本語言開發(fā)的,并不具備GUI功能,但由于其本身具有良好的可擴(kuò)展性,能夠不斷地通過C/C++模塊進(jìn)行功能性擴(kuò)展,因此目前已經(jīng)有相當(dāng)多的GUI控件集(Toolkit)可以在Python中使用了。

在Python中經(jīng)常使用的GUI控件集有PyQt、Tkinter、wxPython、Kivy、PyGUI和 Libavg,其中PyQt是 Qt為 Python專門提供的 GUI擴(kuò)展。

百科詞條:

PyQt是一個(gè)用于創(chuàng)建GUI應(yīng)用程序的跨平臺(tái)的工具包,它將Python 編程語言和Qt庫(kù)成功融合在一起。Qt庫(kù)是目前最強(qiáng)大的GUI庫(kù)之一。PyQt是由Phil Thompson開發(fā)的,實(shí)現(xiàn)了一個(gè)Python模塊集。PyQt擁有620多個(gè)類、將近6000個(gè)函數(shù)。PyQt可以運(yùn)行在所有主流的操作系統(tǒng)上,包括UNIX、Windows和 Mac OS.PyQt采用雙許可證,開發(fā)人員可以選擇GPL和商業(yè)許可。在此之前,GPL版本只能用在UNIX上;從PyQt4開始,GPL版本可用于所有支持的平臺(tái)上

訪問PyQt 5的官方網(wǎng)站: https://www.riverbankcomputing.com/。PyQt 是Python下的一套圖形用戶界面庫(kù),可以在 Python中調(diào)用Qt的圖形庫(kù)和控件。

pyqt官網(wǎng)

1、PyQt特色

讓我們來看看pyqt的中文官網(wǎng),https://www.qt.io/zh-cn/product,答案就在其中:

pyqt中文官網(wǎng)

《財(cái)富》全球500強(qiáng)企業(yè)中的前10家企業(yè),有8家在使用Qt開發(fā)軟件,pyqt越來越受到喜愛,就是因?yàn)樗扇缦绿匦裕?/p>

  • 能夠跨平臺(tái)運(yùn)行在Windows、Linux和 Mac OS等系統(tǒng)上。

  • 使用信號(hào)/槽(signal/slot)機(jī)制進(jìn)行通信。?

  • 對(duì)Qt庫(kù)完全封裝

  • 可以使用Qt成熟的IDE(如QtDesigner)進(jìn)行圖形界面設(shè)計(jì),并自動(dòng)生成可執(zhí)行的python代碼?

  • 提供了一整套種類繁多的窗口控件。

2、Qt和PyQt的關(guān)系

首先,PyQt是Qt框架的Python語言實(shí)現(xiàn)。PyQt提供了一個(gè)設(shè)計(jì)良好的窗口控件集合,每一個(gè)PyQt控件都有其對(duì)應(yīng)的Qt控件。所以PyQt與 Qt的類庫(kù)和API非常詳細(xì),而且PyQt不再使用qmake系統(tǒng)和Q_OBJECT宏,使得PyQt再也沒有編譯鏈接錯(cuò)誤,PyQt的代碼也更加友好。

其次,在開發(fā)速度上,由于PyQt的核心就是Qt庫(kù),也是用C++編寫的,所以即使邏輯代碼運(yùn)行速度慢一點(diǎn),也不會(huì)成為性能瓶頸。在使用方式上,PyQt也沒有失去Python的優(yōu)雅語法、快速開發(fā)的能力。Python相對(duì)于C++的優(yōu)點(diǎn)是在編程效率上,可以看到標(biāo)準(zhǔn)的Qt例子移植到PyQt后的代碼具有相同的功能,使用相同的應(yīng)用程序接口,Python版本的代碼只有原來的50%~60%,而且更容易閱讀。在開發(fā)效率上,由于Python是一種面向?qū)ο蟮恼Z言,語法簡(jiǎn)單、高效,相對(duì)于C++而言,使用Python編寫程序可以提高開發(fā)效率,減少開發(fā)成本。

最后,PyQt向 Python程序員提供了使用完整的Qt應(yīng)用程序接口的函數(shù),幾乎可以用Python做任何Qt能做的事。Qt和PyQt的設(shè)計(jì)都是完全面向?qū)ο蟮?。Qt使用一種稱為信號(hào)/槽的機(jī)制在窗口控件之間傳遞事件和消息。這種機(jī)制完全不同于其他圖形界面開發(fā)庫(kù)所采用的回調(diào)( callback)機(jī)制,使用信號(hào)/槽可以使程序更加安全和簡(jiǎn)潔。所開發(fā)的應(yīng)用程序越大,Qt/PyQt的這個(gè)優(yōu)勢(shì)就越明顯。

3、其他GUI圖形界面庫(kù)簡(jiǎn)介

從 Python語言的誕生之日起,就有許多優(yōu)秀的GUI工具集被整合到Python當(dāng)中,使得Python也可以在圖形界面編程領(lǐng)域大展身手。由于 Python的流行,許多應(yīng)用程序都是用Python結(jié)合這些優(yōu)秀的GUI 工具集編寫的。下面分別介紹PythonGUI 編程的各種實(shí)現(xiàn)(內(nèi)容來自維基百科)。

1)?Tkinter

Tkinter 是綁定了Python 的 Tk GUI工具集,就是Python包裝的Tcl代碼,通過內(nèi)嵌在Python解釋器內(nèi)部的Tcl解釋器實(shí)現(xiàn)。將Tkinter的調(diào)用轉(zhuǎn)換成Tcl命令,然后交給Tcl解釋器進(jìn)行解釋,實(shí)現(xiàn)Python的GUI。Tk和其他語言的綁定,比如PerITk,是直接由Tk中的C庫(kù)實(shí)現(xiàn)的。

Tkinter 是 Python事實(shí)上的標(biāo)準(zhǔn)GUI,在 Python中使用Tk GUI工具集的標(biāo)準(zhǔn)接口,已經(jīng)包含在 Python Windows安裝程序中,著名的IDLE 就是使用Tkinter實(shí)現(xiàn)GUI的。

Tkinter 是 Python事實(shí)上的標(biāo)準(zhǔn)GUI,在 Python中使用Tk GUI工具集的標(biāo)準(zhǔn)接口,已經(jīng)包含在 Python Windows安裝程序中,著名的IDLE 就是使用Tkinter實(shí)現(xiàn)GUI的。

2)wxPython

wxPython是 Python對(duì)跨平臺(tái)的GUI工具集wxWidgets(用C+編寫)的包裝,作為Python的一個(gè)擴(kuò)展模塊來實(shí)現(xiàn)。

wxPython是比較流行的Tkinter 的一個(gè)替代品,在各種平臺(tái)上都表現(xiàn)良好。

3)PyGTK

PyGTK是Python對(duì)GTK+GUI庫(kù)的一系列包裝。

PyGTK是比較流行的Tkinter的一個(gè)替代品,Gnome下許多著名應(yīng)用程序的GUI都是使用PyGTK 實(shí)現(xiàn)的,比如 BitTorrent、GIMP等。PyGTK和 Gedit都有可選的實(shí)現(xiàn),在 Windows平臺(tái)上似乎表現(xiàn)不太好,這一點(diǎn)也無可厚非,畢竟使用的是 GTK的GUI庫(kù)。

4)PySide

PySide由 Qt官方維護(hù),是 Python對(duì)跨平臺(tái)的GUI工具集Qt的另一個(gè)包裝,捆綁在Python當(dāng)中。PySide是比較流行的Tkinter的一個(gè)替代品,擁有LGPL 2.1授權(quán)許可,允許進(jìn)行免費(fèi)的開源軟件和私有的商業(yè)軟件的開發(fā)。

在上面的圖形界面開發(fā)庫(kù)中,由于前三個(gè)沒有類似于Qt Designer(UI制作工具,它可以通過可視化操作創(chuàng)建UI文件,然后通過工具快速編譯成Python 文件,因此也可以把它視為一個(gè)代碼生成器)的工具,所有的代碼都需要手動(dòng)輸入,學(xué)習(xí)曲線非常陡峭;而第四個(gè)PySide本質(zhì)上也是Qt的 Python封裝,只是支持Qt的版本比較老,最新版本才支持到Qt 4.8,而且官方已經(jīng)停止維護(hù)這個(gè)庫(kù),最近一次更新是在2015年10月14日。所以,對(duì)于 Python使用者來說,使用PyQt進(jìn)行GUI 開發(fā)是最好的選擇。


PyQt初識(shí)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
改则县| 阿拉善右旗| 尉犁县| 明水县| 灵寿县| 松桃| 宜川县| 皋兰县| 广汉市| 旬邑县| 杭锦旗| 东丰县| 丹棱县| 芜湖县| 平顺县| 津南区| 鹿泉市| 安陆市| 临沧市| 托里县| 上虞市| 黄骅市| 邯郸县| 清镇市| 德钦县| 普宁市| 武川县| 怀安县| 洛阳市| 元谋县| 剑川县| 沭阳县| 德安县| 轮台县| 磴口县| 庆阳市| 泌阳县| 铅山县| 仙游县| 乌拉特后旗| 濉溪县|