乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      一本專(zhuān)門(mén)學(xué)習(xí)PyQt5 GUI編程的書(shū)

       星光閃亮圖書(shū)館 2019-08-30

      Python作為一個(gè)開(kāi)源的解釋型編程軟件,在教學(xué)、科研、實(shí)際項(xiàng)目中用得越來(lái)越多。Python易學(xué)易用,程序資源豐富,在編程解決一些科學(xué)計(jì)算問(wèn)題時(shí)比較實(shí)用,但是Python自帶的Tkinter包設(shè)計(jì)GUI程序的功能比較弱,無(wú)法設(shè)計(jì)專(zhuān)業(yè)的GUI應(yīng)用程序。

      Qt C++類(lèi)庫(kù)是一套廣泛使用的跨平臺(tái)GUI設(shè)計(jì)類(lèi)庫(kù),PyQt5是Qt5 C++類(lèi)庫(kù)的Python綁定,使用PyQt5在Python里編程,可以將Python豐富的科學(xué)計(jì)算、圖形顯示等功能與PyQt5的GUI設(shè)計(jì)功能結(jié)合起來(lái),開(kāi)發(fā)出比較專(zhuān)業(yè)的Python GUI應(yīng)用程序,便于對(duì)研究成果進(jìn)行有效的集成與展示。

      目前,介紹Python編程的書(shū)很多,但是專(zhuān)門(mén)介紹PyQt5 GUI編程的書(shū)很少。目前有這樣一本《Python Qt GUI與數(shù)據(jù)可視化編程》即將出版。推薦給有需要的你們。

      一本專(zhuān)門(mén)學(xué)習(xí)PyQt5 GUI編程的書(shū)

      本書(shū)主要內(nèi)容包括:

      • 基于PyQt5的GUI應(yīng)用程序的技術(shù)框架和工具軟件的使用;
      • GUI程序設(shè)計(jì)中常用界面組件和功能模塊的使用;
      • 使用PyQtChart、PyQtDataVisualization、Matplotlib在GUI程序中嵌入二維和三維數(shù)據(jù)可視化功能的編程方法。

      內(nèi)容路徑:

      本書(shū)介紹在Python中使用PyQt5、PyQtChart、Matplotlib等進(jìn)行GUI應(yīng)用程序設(shè)計(jì)和數(shù)據(jù)可視化編程的方法,全書(shū)的內(nèi)容分為三部分。

      第一部分是PyQt5開(kāi)發(fā)基礎(chǔ),包括第1章和第2章。

      第1章介紹Python、Qt、PyQt5的特點(diǎn)和安裝方法,在Windows中建立開(kāi)發(fā)環(huán)境。

      第2章介紹使用PyQt5開(kāi)發(fā)GUI應(yīng)用程序的基本框架原理,包括GUI應(yīng)用程序的基本結(jié)構(gòu)、使用可視化設(shè)計(jì)UI窗體時(shí)開(kāi)發(fā)GUI程序的流程和框架、信號(hào)與槽的使用方法等。掌握了第2章的內(nèi)容就掌握了PyQt5開(kāi)發(fā)GUI應(yīng)用程序的框架性原理,再學(xué)習(xí)第二部分和第三部分就很容易了。

      第二部分是GUI應(yīng)用程序設(shè)計(jì),從第3章至第11章。

      這部分介紹GUI應(yīng)用程序設(shè)計(jì)中常用的一些功能模塊的編程使用方法,包括常用界面組件的使用、Model/View結(jié)構(gòu)、事件處理、對(duì)話(huà)框和多窗口設(shè)計(jì)、數(shù)據(jù)庫(kù)、繪圖、文件讀寫(xiě)和操作、多媒體、多語(yǔ)言界面和Qt樣式表定制界面等。

      這部分的內(nèi)容根據(jù)PyQt5和Python各自的特點(diǎn)做了取舍,總體的原則就是對(duì)GUI程序設(shè)計(jì)中必需的,而Python中沒(méi)有或功能不強(qiáng)的模塊進(jìn)行介紹。例如,Python雖然有自帶的數(shù)據(jù)庫(kù)、多媒體、文件讀寫(xiě)功能模塊,但是功能不如PyQt5的相應(yīng)模塊,或不易與PyQt5的GUI程序的窗口界面結(jié)合使用,因此本書(shū)就介紹PyQt5的數(shù)據(jù)庫(kù)、多媒體、文件讀寫(xiě)功能模塊。而Python自帶的多線(xiàn)程編程功能已經(jīng)比較全,且不涉及用戶(hù)界面,因此本書(shū)就不介紹PyQt5的多線(xiàn)程編程功能。Python有很多功能強(qiáng)大的第三方網(wǎng)絡(luò)功能模塊,因此沒(méi)有必要介紹PyQt5的網(wǎng)絡(luò)編程功能。

      第三部分是數(shù)據(jù)可視化編程,從第12章至第14章。

      Chart和Data Visualization模塊是Qt C++類(lèi)庫(kù)的一部分,分別用于二維圖表繪制和三維數(shù)據(jù)可視化,但是PyQt5中沒(méi)有這兩個(gè)模塊,需要單獨(dú)安裝PyQtChart包和PyQtDataVisualization包。第 12 章介紹使用PyQtChart模塊繪制各種二維圖表的編程方法,第13章介紹使用PyQtDataVisualization模塊繪制三維柱狀圖、三維散點(diǎn)圖和三維曲面圖的編程方法。

      Matplotlib是Python中應(yīng)用最廣泛的數(shù)據(jù)可視化模塊,但是一般介紹Matplotlib數(shù)據(jù)可視化的書(shū)很少詳細(xì)介紹將Matplotlib嵌入GUI窗口上的編程方法。第14章專(zhuān)門(mén)介紹Matplotlib與PyQt5結(jié)合,嵌入GUI程序中實(shí)現(xiàn)數(shù)據(jù)可視化的編程方法,這是在編寫(xiě)集成化的Python GUI應(yīng)用程序時(shí)經(jīng)常遇到的,是非常實(shí)用的功能。

      本書(shū)學(xué)習(xí)路線(xiàn)

      很多人買(mǎi)書(shū)一般不仔細(xì)看前言,其實(shí)真的很有必要認(rèn)真看一遍

      本書(shū)使用的編程語(yǔ)言是Python,但是本書(shū)并不會(huì)介紹Python語(yǔ)言基礎(chǔ),需要讀者對(duì)Python編程有一定的了解,特別是對(duì)Python的面向?qū)ο缶幊淘硪容^熟悉。如果讀者對(duì)Python不夠熟悉,需要參考專(zhuān)門(mén)介紹Python編程基礎(chǔ)的書(shū),學(xué)會(huì)Python后再來(lái)學(xué)習(xí)本書(shū)。

      本書(shū)的內(nèi)容雖然用到Qt的IDE,即Qt Creator,但是并不需要編寫(xiě)任何C++語(yǔ)言程序,所以讀者無(wú)須具有C++語(yǔ)言基礎(chǔ)。當(dāng)然,如果讀者有C++語(yǔ)言基礎(chǔ),或者對(duì)Qt C++編程比較熟悉,對(duì)閱讀本書(shū)的內(nèi)容是非常有幫助的。

      學(xué)習(xí)本書(shū)應(yīng)從第一部分開(kāi)始。第1章介紹本書(shū)用到的各個(gè)軟件及其安裝,搭建開(kāi)發(fā)環(huán)境。第2章是本書(shū)的基礎(chǔ)和重點(diǎn)內(nèi)容,介紹了PyQt5 GUI應(yīng)用程序的基本代碼框架、基于UI窗體可視化設(shè)計(jì)的GUI應(yīng)用程序的設(shè)計(jì)流程和工具軟件pyuic5的使用、UI與窗體業(yè)務(wù)邏輯分離設(shè)計(jì)的原理、Qt的核心技術(shù)信號(hào)與槽的使用方法、Qt Creator中管理和使用資源文件,以及通過(guò)工具軟件pyrcc5將資源文件轉(zhuǎn)換為Python程序的方法。第2章還創(chuàng)建了3個(gè)單窗口項(xiàng)目模板,本書(shū)的大部分示例都是基于這幾個(gè)項(xiàng)目模板創(chuàng)建的。

      掌握了第2章的內(nèi)容就掌握了用PyQt5設(shè)計(jì)GUI程序的技術(shù)框架,剩下的就是PyQt5中用于GUI應(yīng)用程序設(shè)計(jì)的各種類(lèi)的使用了。

      第二部分介紹PyQt5 GUI程序設(shè)計(jì)中各個(gè)技術(shù)模塊的使用方法,包括常用界面組件、Model/View結(jié)構(gòu)、事件處理、對(duì)話(huà)框與多窗口設(shè)計(jì)、數(shù)據(jù)庫(kù)、繪圖、文件、多媒體等,讀者可以根據(jù)自己的需要學(xué)習(xí)或查閱相應(yīng)章節(jié)。第11章有兩個(gè)新的技術(shù)點(diǎn)不在第2章介紹的技術(shù)框架內(nèi),分別是多語(yǔ)言界面設(shè)計(jì)方法和Qt樣式表定制界面方法。

      第三部分介紹數(shù)據(jù)可視化設(shè)計(jì)方法。PyQtChart和PyQtDataVisualization是Qt C++類(lèi)庫(kù)相應(yīng)模塊的Python綁定,分別用于二維圖表和三維數(shù)據(jù)可視化設(shè)計(jì),其內(nèi)容的介紹比較全面。另外由于Matplotlib在Python數(shù)據(jù)可視化中應(yīng)用廣泛,第14章專(zhuān)門(mén)介紹將Matplotlib嵌入GUI窗體上實(shí)現(xiàn)交互式數(shù)據(jù)可視化的設(shè)計(jì)方法,包括主要的技術(shù)點(diǎn)和一些常用二維圖和三維圖的編程使用方法。

      PyQtChart、PyQtDataVisualization與Matplotlib的某些功能是重合的,但它們各有千秋,讀者可根據(jù)自己的需要和熟悉的內(nèi)容選擇學(xué)習(xí)和使用。如果讀者熟悉Qt C++類(lèi)庫(kù)中的二維圖表和三維數(shù)據(jù)可視化模塊的使用,就參閱第12章和第13章;如果讀者熟悉Matplotlib的使用,就參閱第14章。

      目 錄

      第一部分 PyQt5開(kāi)發(fā)基礎(chǔ)

      • 第1章 開(kāi)發(fā)環(huán)境安裝 2
      • 第2章 PyQt5 GUI程序框架 11

      第二部分 GUI應(yīng)用程序設(shè)計(jì)

      • 第3章 常用界面組件的使用 60
      • 第4章 Model/View結(jié)構(gòu) 109
      • 第5章 事件處理 133
      • 第6章 對(duì)話(huà)框與多窗口設(shè)計(jì) 151
      • 第7章 數(shù)據(jù)庫(kù) 185
      • 第8章 繪圖 219
      • 第9章 文件 261
      • 第10章 多媒體 297
      • 第11章 GUI設(shè)計(jì)增強(qiáng)技術(shù) 329

      第三部分 數(shù)據(jù)可視化

      • 第12章 PyQtChart二維繪圖 346
      • 第13章 PyQtDataVisualization三維繪圖 411
      • 第14章 Matplotlib數(shù)據(jù)可視化 437

      樣章試讀

      本書(shū)介紹如何在Python中使用PyQt5進(jìn)行圖形用戶(hù)界面(Graphical User Interface,GUI)應(yīng)用程序開(kāi)發(fā),使用的編程語(yǔ)言是Python,構(gòu)建開(kāi)發(fā)環(huán)境需要安裝的軟件有Python 3、Qt 5和PyQt5。

      本章介紹各個(gè)軟件的功能特點(diǎn)、安裝和基本使用方法,以及構(gòu)建本書(shū)介紹內(nèi)容所需的開(kāi)發(fā)環(huán)境。本書(shū)所有程序都是在64位Windows 7平臺(tái)上開(kāi)發(fā)的,但由于Python和Qt都是跨平臺(tái)的,因此所介紹的內(nèi)容在Linux等平臺(tái)上也是適用的。

      1.1 Python

      1.1.1 Python 簡(jiǎn)介

      Python是由Guido van Rossum在1989年開(kāi)發(fā),然后在1991年初發(fā)布的。Python是一種跨平臺(tái)的解釋型語(yǔ)言,它功能強(qiáng)大,簡(jiǎn)單易學(xué),具有面向?qū)ο缶幊痰墓δ?。Python是完全開(kāi)源的軟件,具有開(kāi)放的特性,能很方便地將其他語(yǔ)言(尤其是C/C++)的類(lèi)庫(kù)封裝為Python的模塊來(lái)使用。

      由于Python語(yǔ)言的特點(diǎn),以及其開(kāi)源和開(kāi)放的特性,吸引了編程社區(qū)為Python開(kāi)發(fā)了很多實(shí)用且功能強(qiáng)大的包(package),例如用于矩陣處理和線(xiàn)性代數(shù)計(jì)算的NumPy,用于科學(xué)計(jì)算的SciPy,用于數(shù)據(jù)分析的Pandas,用于數(shù)據(jù)可視化的Matplotlib等,這使得Python在科學(xué)計(jì)算、數(shù)據(jù)分析、數(shù)據(jù)可視化、神經(jīng)網(wǎng)絡(luò)、人工智能、Web編程等各方面得到了廣泛的應(yīng)用,逐漸成為一種主流的編程語(yǔ)言。

      1.1.2 Python的下載與安裝

      Python是一個(gè)完全開(kāi)源的軟件,從官網(wǎng)上可以下載最新版本的Python安裝文件。Python 3和Python 2是不兼容的,本書(shū)就不考慮Python 2了,直接下載最新的發(fā)布版本Python 3.7.0。

      Python是跨平臺(tái)的,有Windows、Linux、macOS等各種平臺(tái)的安裝文件。本書(shū)的示例程序都是在64位的Windows 7平臺(tái)上開(kāi)發(fā)的,所以下載64位Windows平臺(tái)的離線(xiàn)安裝文件。Python的安裝過(guò)程與一般的Windows程序安裝過(guò)程一樣,在一個(gè)安裝向?qū)Ю锿瓿砂惭b過(guò)程。

      安裝向?qū)У牡谝徊饺鐖D1-1所示。在此窗口里勾選“Add Python 3.7 to PATH”,會(huì)自動(dòng)將安裝后的Python的兩個(gè)文件夾路徑添加到Windows系統(tǒng)的環(huán)境變量PATH里,這樣就可以在Windows的cmd窗口里直接執(zhí)行Python的一些工具程序,如python.exe、pyuic5.exe等。

      在圖1-1中點(diǎn)擊“Customize installation”進(jìn)行定制安裝,出現(xiàn)的窗口如圖1-2所示,在此窗口中勾選所有選項(xiàng)。其中,pip默認(rèn)是不勾選的,一定要勾選此選項(xiàng)。pip是Python的包管理工具程序,使用pip可以很方便地下載和安裝各種第三方的Python包,包括后面用到的PyQt5、PyQtChart等,都需要通過(guò)pip安裝。

      一本專(zhuān)門(mén)學(xué)習(xí)PyQt5 GUI編程的書(shū)

      一本專(zhuān)門(mén)學(xué)習(xí)PyQt5 GUI編程的書(shū)

      圖1-1 Python安裝向?qū)У谝徊?圖1-2 Python安裝向?qū)У诙?/p>

      繼續(xù)按照向?qū)崾就瓿砂惭b。這里設(shè)置Python安裝到“D:\Python37”目錄下,這個(gè)目錄下有Python的主程序文件python.exe和pythonw.exe。

      文件夾“D:\Python37\Scripts”下存放的是Python的一些工具軟件,如pip.exe和pip3.exe。在安裝其他一些第三方模塊或工具軟件后,可執(zhí)行文件都安裝到此目錄下,例如安裝PyQt5之后,會(huì)在此目錄下增加3個(gè)可執(zhí)行文件。

      路徑“D:\Python37”和“D:\Python37\Scripts”會(huì)被安裝程序自動(dòng)添加到Windows系統(tǒng)的PATH環(huán)境變量里,這兩個(gè)目錄下的文件就可以在Windows的cmd窗口里直接執(zhí)行。如果在安裝的第一步(圖1-1)中沒(méi)有勾選“Add Python 3.7 to PATH”,那么這兩個(gè)路徑不會(huì)自動(dòng)添加到PATH環(huán)境變量里,需要在安裝后手動(dòng)添加。

      1.1.3 IDLE的基本使用

      Python安裝后有一個(gè)交互式操作環(huán)境IDLE,其運(yùn)行時(shí)界面如圖1-3所示。在此交互式操作環(huán)境里,可以執(zhí)行Python的各種語(yǔ)句。

      在圖1-3窗口的“File”菜單下,點(diǎn)擊“New File”,可以打開(kāi)一個(gè)文件編輯器,在這個(gè)編輯器里可以編寫(xiě)Python程序,然后保存為后綴為“.py”的文件。例如,在圖1-4的窗口中簡(jiǎn)單地輸入了兩行語(yǔ)句,然后保存為文件hello.py。

      點(diǎn)擊圖1-4文件編輯器的菜單項(xiàng)“Run”→“Run Module”,或直接按快捷鍵F5執(zhí)行此程序,在交互式窗口里就會(huì)輸出運(yùn)行結(jié)果。

      IDLE的功能比較簡(jiǎn)單,不像其他一些Python IDE(如Eric、PyCharm)功能那么強(qiáng)大,但是基本的程序編輯和調(diào)試功能是具備的。IDLE對(duì)于初學(xué)者來(lái)說(shuō)簡(jiǎn)單易用,編寫(xiě)和調(diào)試規(guī)模不大的程序是夠用的,因此本書(shū)就使用IDLE作為Python開(kāi)發(fā)環(huán)境。

      IDLE的文件編輯器有以下一些常用的快捷鍵非常有用。

      • Ctrl+],選中的代碼行右縮進(jìn)一個(gè)Tab。
      • Ctrl+[,選中的代碼行左移一個(gè)Tab。
      • Ctrl+S,保存文件。
      • Alt+3,在選中代碼行的最左端添加注釋符號(hào)“##”。
      • Alt+4,刪除選中代碼行最左端的注釋符號(hào)“##”。
      • F5,運(yùn)行編輯器內(nèi)的程序文件。

      一本專(zhuān)門(mén)學(xué)習(xí)PyQt5 GUI編程的書(shū)

      一本專(zhuān)門(mén)學(xué)習(xí)PyQt5 GUI編程的書(shū)

      圖1-3 Python自帶的IDLE交互式操作環(huán)境 圖1-4 Python程序文件編輯器

      因?yàn)镻ython源程序是采用縮進(jìn)確定代碼段的,排版時(shí)為減少縮進(jìn)空格數(shù)和縮進(jìn)層級(jí),本書(shū)設(shè)置TAB為3個(gè)空格(點(diǎn)擊IDLE的“Options”→“Configure IDLE”菜單項(xiàng)進(jìn)行設(shè)置),并且在程序中也基本不使用try...except和try...finally等語(yǔ)句塊。

      IDLE也具有程序調(diào)試功能。在文件編輯器中打開(kāi)需要調(diào)試的源程序文件,通過(guò)鼠標(biāo)右鍵快捷菜單在當(dāng)前行設(shè)置或取消斷點(diǎn)。在IDLE交互環(huán)境中,點(diǎn)擊“Debug”→“Debugger”菜單項(xiàng),出現(xiàn)如圖1-5所示的調(diào)試控制窗口。按F5開(kāi)始運(yùn)行程序后,就進(jìn)入調(diào)試狀態(tài)。在調(diào)試狀態(tài)下,使用圖1-5窗口上的“Go”“Step”“Over”等按鈕進(jìn)行程序調(diào)試。程序調(diào)試的方法與一般IDE的程序調(diào)試方法類(lèi)似,這里就不詳細(xì)介紹了。

      本書(shū)不對(duì)Python語(yǔ)言基礎(chǔ)做介紹,假定讀者已熟悉Python語(yǔ)言編程的基本方法,掌握了Python中類(lèi)的使用方法。如果讀者對(duì)Python的基本編程不熟悉,需要找一本專(zhuān)門(mén)介紹Python編程基礎(chǔ)的書(shū)學(xué)習(xí)后再來(lái)學(xué)習(xí)本書(shū)的內(nèi)容。

      除了Python自帶的IDLE,還有許多其他用于Python編程的IDE,如PyCharm、Eric等。本書(shū)的示例程序都用IDLE編程和調(diào)試,如果讀者習(xí)慣于使用其他的IDE,也可以使用自己習(xí)慣的編程環(huán)境。因?yàn)镻ython是解釋型語(yǔ)言,無(wú)須編譯,所以無(wú)論使用哪個(gè)IDE都可以實(shí)現(xiàn)Python程序的編寫(xiě)和運(yùn)行。

      1.1.4 安裝Python包

      Python的一大特點(diǎn)就是有大量的包(package)可供使用,而且都是開(kāi)源的。PyPI(Python Package Index)網(wǎng)站就是Python程序資源的集散地,在這個(gè)網(wǎng)站上可以查找、下載、發(fā)布Python包。

      在Windows的cmd窗口里使用pip3指令可以直接從PyPI網(wǎng)站下載包并安裝。例如,SIP是一個(gè)用于將C++庫(kù)轉(zhuǎn)換為Python擴(kuò)展模塊的工具軟件,這種擴(kuò)展模塊稱(chēng)為C++庫(kù)的Python綁定(binding)。要安裝SIP只需在Windows的cmd窗口里執(zhí)行如下的指令:

      pip3 install sip

      這條指令中的pip3就是“D:\Python37\Scripts”目錄下的程序pip3.exe;install是指令參數(shù),表示安裝,相應(yīng)地,卸載用uninstall;sip是需要安裝的包的名稱(chēng)。

      執(zhí)行這條指令時(shí),pip3會(huì)自動(dòng)鏈接到PyPI網(wǎng)站上,查找最新版本的SIP,如果找到就自動(dòng)下載并安裝。成功安裝后,在“D:\Python37\Lib\site-packages”目錄下會(huì)出現(xiàn)SIP相關(guān)的子目錄和文件,該目錄下存放的都是安裝的Python包。

      如果要卸載已安裝的SIP,執(zhí)行下面的指令即可。

      pip3 uninstall sip

      如果直接鏈接國(guó)外的PyPI服務(wù)器速度比較慢,可以在pip3指令中指定使用鏡像服務(wù)器。例如,使用清華的鏡像服務(wù)器安裝SIP的指令是:

      pip3 install –i https://pypi.tuna./simple sip

      1.2 Qt

      1.2.1 Qt 簡(jiǎn)介

      Qt是一個(gè)跨平臺(tái)的應(yīng)用程序C++開(kāi)發(fā)類(lèi)庫(kù),支持Windows、Linux、macOS等各種桌面平臺(tái),也支持iOS、Android等移動(dòng)平臺(tái),還支持各種嵌入式系統(tǒng),是應(yīng)用非常廣泛的跨平臺(tái)C++開(kāi)發(fā)類(lèi)庫(kù)。

      Qt最早是由挪威的Haavard Nord和Eirik Chambe-Eng在1991年開(kāi)始開(kāi)發(fā)的,在1994年發(fā)布,并成立了一家名為T(mén)rolltech的公司。Trolltech公司在2008年被諾基亞公司收購(gòu),2012年,Qt被Digia公司收購(gòu),2014年從Digia公司拆分出來(lái)成立了獨(dú)立的Qt公司,專(zhuān)門(mén)進(jìn)行Qt的開(kāi)發(fā)、維護(hù)和商業(yè)推廣。

      Qt的許可類(lèi)型分為商業(yè)許可和開(kāi)源許可,開(kāi)源許可的Qt就已經(jīng)包含非常豐富的功能模塊,可用于Qt學(xué)習(xí)和一般的應(yīng)用程序開(kāi)發(fā)。

      1.2.2 Qt 的下載與安裝

      在Python中使用PyQt5編寫(xiě)程序可以只安裝PyQt5,而不必安裝Qt的開(kāi)發(fā)環(huán)境。但是為了使用Qt的IDE(即Qt Creator)的一些功能如UI窗體可視化設(shè)計(jì)、Qt類(lèi)庫(kù)幫助信息查找、資源文件管理等,安裝Qt是有必要的。

      從Qt官網(wǎng)可以下載最新版本的Qt軟件。Qt分為商業(yè)版和社區(qū)版,社區(qū)版就是具有開(kāi)源許可協(xié)議的免費(fèi)版本。Qt的版本更新比較快,本書(shū)使用的是Qt 5.12.0,這是一個(gè)LTS(Long Term Supported)版本。

      下載的Windows平臺(tái)的Qt離線(xiàn)安裝文件是一個(gè)可執(zhí)行文件,運(yùn)行文件就可以開(kāi)始安裝。安裝過(guò)程與一般的Windows應(yīng)用程序安裝過(guò)程一樣,按照向?qū)нM(jìn)行操作即可。

      在設(shè)置安裝路徑時(shí),選擇安裝到“D:\Qt\Qt5.12.0”目錄下,當(dāng)然也可以安裝在其他路徑下。設(shè)置為這個(gè)路徑,是為了在后面需要講到Qt的路徑時(shí)使用此絕對(duì)路徑。

      在安裝過(guò)程中會(huì)出現(xiàn)如圖 1-6 所示的安裝模塊選項(xiàng)設(shè)置頁(yè)面,在這個(gè)頁(yè)面里選擇需要安裝的模塊。“Qt 5.12.0”節(jié)點(diǎn)下面是Qt的功能模塊,包括用于不同編譯器和平臺(tái)的模塊,這些模塊如下。

      • 使用MSVC(Microsoft Visual C++)編譯器的模塊,包括MSVC 2015 64-bit、MSVC 2017 32-bit和MSVC 2017 64-bit。若要安裝這幾個(gè)模塊,需要在計(jì)算機(jī)上預(yù)先安裝相應(yīng)版本的Microsoft Visual Studio。本書(shū)不是為了研究Qt C++編程,因此無(wú)須安裝這些模塊。
      • MinGW 7.3.0 64-bit編譯器模塊。MinGW(Minimalist GNU__for Windows)是Windows平臺(tái)上使用的GNU工具集的導(dǎo)入庫(kù)的集合。為了使用Qt的IDE Qt Creator,必須安裝至少一個(gè)編譯器,可以選擇安裝這個(gè)模塊。
      • 用于UWP平臺(tái)的編譯器模塊。UWP(Universal Windows Platform)是Windows 10中的編譯模塊,有不同CPU和編譯器類(lèi)型的UWP模塊,本書(shū)無(wú)須安裝。
      • 用于Android平臺(tái)的編譯模塊,包括Android x86、Android ARM64-v8a等,這是用于Android平臺(tái)開(kāi)發(fā)的編譯模塊,本書(shū)無(wú)須安裝。
      • Sources是Qt C++類(lèi)庫(kù)的源程序,本書(shū)無(wú)須安裝。
      • Qt Charts是二維圖表模塊,用于繪制柱狀圖、餅圖、曲線(xiàn)圖等常用二維圖表。對(duì)于Python,有相應(yīng)的PyQtChart包,在第12章會(huì)介紹其使用。選擇安裝此模塊,便于查看相關(guān)類(lèi)的幫助信息。
      • Qt Data Visualization是三維數(shù)據(jù)圖表模塊,用于數(shù)據(jù)的三維顯示,如散點(diǎn)的三維空間分布、三維曲面等。對(duì)于Python,有相應(yīng)的PyQtDataVisualization包,在第13章會(huì)介紹其使用。選擇安裝此模塊,便于查看相關(guān)類(lèi)的幫助信息。
      • Qt Purchasing、Qt Virtual Keyboard、Qt WebEngine 等其他模塊,這些模塊在本書(shū)里不會(huì)講到,可以根據(jù)自己的需要選擇是否安裝。
      • Qt Script(Deprecated)是腳本模塊,這是個(gè)已經(jīng)過(guò)時(shí)的模塊,無(wú)須安裝。

      “Tools”節(jié)點(diǎn)下面是一些工具軟件,這些軟件如下。

      • Qt Creator 4.8.0是用于Qt程序開(kāi)發(fā)的IDE,在開(kāi)發(fā)PyQt5的程序時(shí)需要使用此軟件進(jìn)行窗體可視化設(shè)計(jì)、查閱類(lèi)的幫助信息等,必須安裝(自動(dòng))。
      • Qt Creator 4.8.0 CDB Debugger support for Qt Creator,是用于支持在Qt Creator中進(jìn)行程序調(diào)試的模塊,可以不安裝。
      • MinGW 7.3.0是MinGW 64-bit 編譯工具鏈,需要安裝。
      • Strawberry Perl是一個(gè)Perl語(yǔ)言工具,無(wú)須安裝。

      1.2.3 Qt的幾個(gè)工具軟件

      安裝完成后,在Windows“開(kāi)始”菜單里建立的“Qt 5.12.0”程序組內(nèi)容如圖1-7所示。程序組中的一個(gè)主要程序是Qt Creator 4.8.0(Enterprise),它是用于開(kāi)發(fā)Qt程序的IDE,是Qt的主要工具軟件。

      根據(jù)選擇安裝的編譯器模塊會(huì)建立相應(yīng)的幾個(gè)子分組,例如,在圖1-7中有兩個(gè)版本的編譯器模塊,即MinGW 7.3.0(64-bit)和MSVC 2015(64-bit),每個(gè)分組下面都有以下3個(gè)工具軟件。

      • Qt Assistant是一個(gè)獨(dú)立的查看Qt幫助文檔的工具軟件。在Qt Creator中也可以方便地查看Qt幫助文檔,基本用不著這個(gè)軟件。
      • Qt Designer是一個(gè)進(jìn)行窗體可視化設(shè)計(jì)的工具軟件。Qt Creator中也有一個(gè)內(nèi)置的窗體可視化設(shè)計(jì)工具軟件(本書(shū)稱(chēng)之為UI Designer),而且UI Designer可以為界面組件的信號(hào)生成槽函數(shù)框架,所以在本書(shū)中不使用這個(gè)獨(dú)立的Qt Designer,而使用Qt Creator內(nèi)置的UI Designer。
      • Qt Linguist是一個(gè)編輯語(yǔ)言資源文件的工具軟件,在第11章介紹開(kāi)發(fā)多語(yǔ)言界面的應(yīng)用程序時(shí)會(huì)用到。

      1.2.4 Qt Creator的設(shè)置

      本書(shū)對(duì)使用的Qt Creator做了一些設(shè)置:一是將界面語(yǔ)言設(shè)置為英語(yǔ),因?yàn)槌跏嫉臐h語(yǔ)界面中某些詞匯翻譯得并不恰當(dāng),使用英語(yǔ)界面會(huì)更準(zhǔn)確一些;二是設(shè)置文件命名規(guī)則,取消默認(rèn)的全小寫(xiě)命名文件規(guī)則。

      啟動(dòng)Qt Creator后,點(diǎn)擊Qt Creator菜單欄的“Tools”→“Options…”菜單項(xiàng)打開(kāi)如圖1-8所示的選項(xiàng)設(shè)置對(duì)話(huà)框。

      界面語(yǔ)言設(shè)置:點(diǎn)擊對(duì)話(huà)框左側(cè)Environment分組后,在Interface頁(yè)面將界面語(yǔ)言設(shè)置為English,設(shè)置主題為Flat Light。更改語(yǔ)言和主題后需要重新啟動(dòng)Qt Creator才會(huì)生效。

      文件命名規(guī)則設(shè)置:在圖1-8所示的C++分組的File Naming頁(yè),取消“Lower case file names”選項(xiàng)。默認(rèn)是勾選此項(xiàng)的,即自動(dòng)命名的文件名采用全小寫(xiě)字母。

      在本書(shū)里用Qt Creator只需要進(jìn)行窗體可視化設(shè)計(jì)、生成槽函數(shù)代碼框架、查閱Qt幫助文檔,而不需要使用Qt Creator編寫(xiě)任何C++程序。Qt Creator的具體使用在下一章詳細(xì)介紹。

      一本專(zhuān)門(mén)學(xué)習(xí)PyQt5 GUI編程的書(shū)

      圖1-8 Qt Creator的選項(xiàng)設(shè)置對(duì)話(huà)框

      1.3 PyQt5

      1.3.1 PyQt5簡(jiǎn)介

      Python語(yǔ)言功能很強(qiáng),但是Python自帶的GUI開(kāi)發(fā)庫(kù)Tkinter功能很弱,難以開(kāi)發(fā)出專(zhuān)業(yè)的GUI。好在Python語(yǔ)言的開(kāi)放性,很容易將其他語(yǔ)言(特別是C/C++)的類(lèi)庫(kù)封裝為Python綁定,而Qt是非常優(yōu)秀的C++ GUI類(lèi)庫(kù),所以就有了PyQt。

      PyQt是Qt C++類(lèi)庫(kù)的Python綁定,PyQt5對(duì)應(yīng)于Qt5類(lèi)庫(kù)。Qt推出新的版本后,PyQt就會(huì)推出跟進(jìn)的版本,例如針對(duì)Qt 5.12.0就有PyQt 5.12。使用PyQt5可以充分利用Qt的應(yīng)用程序開(kāi)發(fā)框架和功能豐富的類(lèi)設(shè)計(jì)GUI程序。PyQt主要有以下一些優(yōu)點(diǎn)。

      • PyQt將Qt的跨平臺(tái)應(yīng)用框架與Python的跨平臺(tái)解釋語(yǔ)言結(jié)合在了一起。
      • Qt使用信號(hào)與槽(Signals/Slots)機(jī)制進(jìn)行對(duì)象之間的通信,它是類(lèi)型安全且弱耦合的,易于創(chuàng)建可重用的軟件模塊。
      • 使用Qt Creator中的UI Designer或獨(dú)立的Qt Designer可以可視化地設(shè)計(jì)窗體,然后將窗體轉(zhuǎn)換為Python程序,可以大大提高界面設(shè)計(jì)的效率。
      • PyQt將Qt和Python的優(yōu)點(diǎn)結(jié)合到了一起,程序員可以利用Qt豐富的UI設(shè)計(jì)功能,但不需要使用復(fù)雜的C++語(yǔ)言,而是使用Python語(yǔ)言編程。

      PyQt5是Riverbank公司的產(chǎn)品,分為開(kāi)源版本和商業(yè)版本,開(kāi)源版本就包含全部的功能。Riverbank公司不僅開(kāi)發(fā)了PyQt5,還開(kāi)發(fā)了PyQtChart、PyQtDataVisualization、PyQt3D、SIP等軟件包。可以在Riverbank公司網(wǎng)站上下載這些軟件包的源代碼,在PyPI網(wǎng)站上也可以找到這些軟件包,所以可以使用pip3指令直接安裝。

      1.3.2 PyQt5安裝

      在PyPI網(wǎng)站上可以找到最新版本的PyQt5,直接用下面的指令安裝PyQt5。

      pip3 install PyQt5

      直接連接PyPI服務(wù)器可能速度比較慢,可以使用鏡像網(wǎng)站安裝,例如使用清華大學(xué)鏡像網(wǎng)站的指令是:

      pip3 install –i https://pypi.tuna./simple PyQt5

      這條指令正確執(zhí)行后就會(huì)安裝PyQt5,并且會(huì)自動(dòng)安裝依賴(lài)的包SIP。SIP是一個(gè)將C/C++庫(kù)轉(zhuǎn)換為Python綁定的工具,SIP本來(lái)是為了開(kāi)發(fā)PyQt而開(kāi)發(fā)的,現(xiàn)在也可以用于將任何C/C++庫(kù)轉(zhuǎn)換為Python綁定。

      安裝PyQt5之后,在“D:\Python37\Scripts”目錄下增加了pylupdate5.exe、pyrcc5.exe和pyuic5.exe這3個(gè)用于PyQt5的可執(zhí)行程序,如圖1-9所示。這3個(gè)可執(zhí)行程序的作用分別如下。

      • pyuic5.exe是用于將Qt Designer(或Qt Creator內(nèi)置的UI Designer)可視化設(shè)計(jì)的界面文件(.ui文件)編譯轉(zhuǎn)換為Python程序文件的工具軟件,是使用PyQt5設(shè)計(jì)GUI程序最常用到的工具軟件。
      • pyrcc5.exe是用于將Qt Creator里設(shè)計(jì)的資源文件(.qrc文件)編譯轉(zhuǎn)換為Python程序文件的工具軟件,資源文件一般存儲(chǔ)了圖標(biāo)、圖片等UI設(shè)計(jì)資源。
      • pylupdate5.exe是用于多語(yǔ)言界面設(shè)計(jì)時(shí)編輯語(yǔ)言資源文件的工具軟件。

      一本專(zhuān)門(mén)學(xué)習(xí)PyQt5 GUI編程的書(shū)

      圖1-9 安裝PyQt5之后的Scripts子目錄下的可執(zhí)行文件

      路徑“D:\Python37\Scripts”被添加到了Windows的PATH環(huán)境變量里,所以這些程序在cmd窗口里可以直接運(yùn)行。

      若想要卸載PyQt5,就執(zhí)行下面的指令:

      pip3 uninstall PyQt5

      1.3.3 在IDLE中開(kāi)啟對(duì)PyQt5的代碼提示功能

      在安裝了PyQt5之后,可以在IDLE中開(kāi)啟代碼提示功能,并且添加PyQt5的所有模塊,這樣在編寫(xiě)程序時(shí),IDLE就具有一定的代碼提示功能。

      首先編輯目錄“D:\Python37\Lib\idlelib”下的文件config-extensions.def,修改[AutoComplete]部分:

      [AutoComplete]enable=Truepopupwait= 20

      這表示開(kāi)啟自動(dòng)提示功能,提示開(kāi)啟的延遲時(shí)間是20毫秒。

      然后再編輯同一目錄下的文件autocomplete.py,在文件的import部分導(dǎo)入PyQt5的各個(gè)模塊:

      import osimport stringimport sys##添加需要自動(dòng)提示的模塊import PyQt5.QtWidgetsimport PyQt5.QtCoreimport PyQt5.QtGuiimport PyQt5.QtSqlimport PyQt5.QtMultimediaimport PyQt5.QtMultimediaWidgetsimport PyQt5.QtChartimport PyQt5.QtDataVisualization

      這樣就將 PyQt5 的各個(gè)常用模塊以及第 12 章和第 13 章要單獨(dú)安裝的PyQtChart和PyQtDataVisualization加入了可提示模塊列表。

      開(kāi)啟和設(shè)置自動(dòng)提示功能后,在IDLE中使用PyQt5各模塊中的類(lèi)時(shí)就會(huì)有代碼提示功能。但是IDLE的代碼提示功能比較弱,不如PyCharm、Eric等專(zhuān)業(yè)IDE軟件。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多