相關主題
商品描述
本書以Python與PyQt結合為核心,專註於測控系統中的虛擬儀器開發和科學計算處理,通過詳細介紹自動化儀器軟件中的常見功能實現,旨在幫助讀者掌握如何利用Python和PyQt創建高效、可靠的自動化儀器界面及控制系統。本書涵蓋了從PyQtGUI開發基礎到硬件數據通信的多個方面,既有理論解析又有實用的項目實例。 本書的前半部分系統介紹了PyQt框架的基礎知識,包括信號與槽機制、事件機制、QSS樣式表等內容,幫助讀者掌握開發測控軟件界面的關鍵技巧;後半部分重點探討了與硬件的通信技術,如串口通信、網口通信及采集卡的使用,詳細介紹了如何利用Python與硬件設備進行交互。 此外,本書還介紹了如何結合自定義控件和第三方圖形庫,開發具備數據可視化功能的用戶界面。通過多個實戰案例和綜合實例,讀者可以輕松地將所學內容應用到實際項目中,提升測控系統的開發效率。 本書適用於從事自動化、智能檢測與控制、虛擬儀器開發的工程技術人員及相關專業的本科生、研究生。
目錄大綱
第1章 磨刀霍霍——開發前的準備
1.1 安裝Python解釋器
1.1.1 為什麼要用Python
1.1.2 Python簡介
1.1.3 Python的安裝步驟
1.2 安裝PyCharm開發環境
1.3 安裝PyQt6包和Qt Designer工具
1.3.1 PyQt6與PyQt5的差異
1.3.2 PyQt6的安裝
1.3.3 Qt Designer的安裝
1.4 PyQt開發工具的插件配置
1.4.1 插件Qt Designer的嵌入
1.4.2 插件pyuic6.exe的嵌入
1.5 PyCharm其他的配置
1.5.1 PyCharm活動模板
1.5.2 安裝QSS自動補全和高亮插件
1.6 本章小結
第2章 構架之本——PyQt程序開發流程和框架
2.1 基於PyQt6的第1個GUI程序
2.2 使用Qt Designer設計GUI程序
2.2.1 Qt Designer原型界面的搭建
2.2.2 將.ui文件轉換為.py文件
2.2.3 界面與邏輯分離的GUI程序框架
2.3 Layout布局
2.3.1 Qt Designer中的布局面板介紹
2.3.2 Qt Designer中的布局屬性介紹
2.3.3 絕對布局
2.3.4 布局管理器
2.4 本章小結
第3章 一觸即發——PyQt中的觸發與執行
3.1 信號與槽
3.1.1 Qt Designer中內置信號關聯內置槽函數
3.1.2 內置信號自動關聯自定義槽函數
3.1.3 overload型信號的處理
3.1.4 內置信號手動關聯自定義槽函數
3.1.5 自定義信號關聯自定義槽函數
3.2 事件機制
3.2.1 程序的事件循環與事件
3.2.2 事件的分發與攔截
3.2.3 事件的逐層轉發機制
3.2.4 事件和信號之間的關系
3.2.5 事件統一處理器——事件過濾
3.3 本章小結
第4章 人靠衣裝馬靠鞍——QSS樣式表
4.1 全局樣式設置——QSS樣式文件的加載
4.2 QSS語法
4.2.1 QSS選擇器
4.2.2 子控件
4.2.3 偽狀態
4.2.4 屬性與值
4.3 QSS語句的沖突和級聯問題
4.4 QSS風格模板的安裝和使用
4.5 本章小結
第5章 量體裁衣——玩轉PyQt中的自定義控件
5.1 QPainter
5.1.1 QPainter基本使用框架介紹
5.1.2 QPainter坐標變換
5.1.3 QPainter的視口和窗口
5.1.4 QPainter的基本方法和繪圖模板
5.1.5 QPen畫筆
5.1.6 QBrush筆刷
5.1.7 QBrush的漸變填充
5.1.8 繪制文本
5.1.9 自定義控件——繪制SVG
5.2 控件提升法
5.2.1 自定義QWidget子類QmyTank的實現
5.2.2 QmyTank的使用示例
5.2.3 擴展——讓自定義控件動起來
5.3 自定義插件法
5.3.1 需求背景
5.3.2 創建自定義控件——環形進度條
5.3.3 自定義插件類接口的實現
5.3.4 自定義控件的路徑配置
5.4 本章小結
第6章 波動不居——波形圖顯示的那些事兒
6.1 波形圖顯示控件介紹
6.2 Matplotlib在PyQt中的應用
6.2.1 Matplotlib的安裝
6.2.2 GUI程序中的Matplotlib繪圖基本知識
6.2.3 GUI程序中的Matplotlib繪圖基本框架示例
6.2.4 邏輯類的編寫
6.2.5 增添歷史數據曲線緩存功能——環形緩沖區的應用
6.3 PyQtGraph在PyQt中的應用
6.3.1 PyQtGraph的安裝
6.3.2 PyQtGraph中的類
6.3.3 PyQtGraph的其他設置基礎
6.3.4 GUI程序中的PyQtGraph繪圖示例
6.3.5 增添歷史數據曲線緩存功能——環形緩沖區的應用
6.3.6 海量數據高速繪圖器——多進程繪圖組件RemoteGraphicsView
6.3.7 使用RemoteGraphicsView重寫自定義波形圖控件
6.4 本章小結
第7章 軟硬兼施——Python硬件擴展之道
7.1 Python使用ctypes調用DLL文件的方法
7.2 研華采集DAQNavi系統的介紹
7.3 研華采集卡的安裝
7.4 研華采集卡的使用入門介紹
7.5 嘗試簡單的采集例程
7.5.1 編程之前的準備
7.5.2 運行第1個官方例程
7.5.3 AI數據采集使用
7.5.4 AO模擬量輸出使用
7.5.5 DIO采集使用
7.6 曲線救國——基於.NET的研華采集卡設備調用
7.6.1 Python.NET包介紹
7.6.2 Python.NET包的安裝和使用
7.6.3 .NET包中函數和類的查看
7.6.4 調用DLL中的函數測試
7.6.5 基於.NET組件的Instant AI模式使用
7.6.6 基於.NET組件的Buffered AI模式使用
7.6.7 基於.NET組件的Instant AO模式使用
7.6.8 基於.NET組件的Buffered AO模式使用
7.6.9 基於.NET組件的Instant DIO模式使用
7.7 實戰:多通道迷你示波器——基於PyQt的高速數據采集模式
7.8 本章小結
第8章 愈久彌新——串口通信
8.1 RS-232串口介紹
8.1.1 同步通信和異步通信
8.1.2 RS-232串口硬件基礎
8.1.3 Python串口包pyserial介紹
8.1.4 變量與字節流的轉換——Python struct介紹
8.1.5 Python串口自定義數據通信
8.1.6 下位機組幀並發送字節流的實現——以智能廁所為例
8.1.7 上位機方案——解幀並接收數據流的實現
8.2 RS-485接口通信介紹
8.2.1 Modbus/RS-485總線通信概述
