《Qt for Python PySide6 GUI界面開發詳解與實例》是清華大學出版社於2022年出版的書籍,作者是李增剛、沈麗
基本介紹
- 中文名:Qt for Python PySide6 GUI界面開發詳解與實例
- 作者:李增剛、沈麗
- 出版時間:2022年10月1日
- 出版社:清華大學出版社
- ISBN:9787302614890
- 定價:118 元
內容簡介,目錄,
內容簡介
本書詳細介紹了PySide6提供的各種可視化類進行可視化界面編程。本書對各種類做了細緻的介紹,對類的方法、槽函式和信號都了詳細的說剃艱頁碑明,並配以實例。可視化編程方面主要內容包括PySide6的框架、基礎類、常用控制項、高級控制項、主視窗、對鞏乃糠話框、視窗美化、事件、繪圖、檔案操作、資料庫、數據可視化、列印支持、多媒體等。本書講解更全面細緻,實例也很有針對性,非常適合用Python進行可視化編程的初學者,由於本書對類的各種方法介紹比較詳細,也可以作為有一定基礎的人作為參考手冊,在忘記類的方法的時候查閱。
目錄
第1章PySide6 GUI編程基礎
1.1Python開發環境搭建
1.1.1Python和PySide簡介
1.1.2Python開發環境的建立
1.1.3Python開發環境使用基礎
1.2PySide6視窗的運行機理
1.2.1關於QWidget視窗
1.2.2QWidget視窗的初始化類
1.2.3QWidget視窗的創建
1.3PySide6可視化編程架構
1.3.1界面用函式來定義
1.3.2界面用類來定義
1.3.3界面用模組來定義
1.3.4界面與邏輯的分離
1.4QApplication的方法
1.5用Qt Designer設計界面
1.5.1視窗界面設計
1.5.2ui檔案編譯成py檔案
1.5.3ui檔案轉換後的編程
1.6信號與槽
1.6.1內置信號與內置槽的連線
1.6.2內置信號與自定義槽函式
1.6.3自定義信號
1.7控制項之間的關係
1.7.1控制項的布局
1.7.2控制項的Tab鍵順序
1.7.3控制項之間的夥伴關係
1.8資源檔案
1.8.1資源檔案的創建和使用
1.8.2qrc檔案編譯成py檔案
1.9py檔案的編譯
第2章常用控制項的用法
2.1GUI編程的常用類
2.1.1坐標點類拔汽旬QPoint和QPointF
2.1.2尺寸類QSize和QSizeF
2.1.3矩形框類QRect和QRectF
2.1.4頁邊距類QMargins和QMarginsF
2.1.5字型類QFont與實例
2.1.6顏色類QColor
2.1.7調色板類QPalette與實例
2.1.8圖像類與實例
2.1.9圖示類QIcon與主剃實例
2.1.10游標類QCursor與實例
2.1.11地址類QUrl
2.2常用輸入輸出控制項及用法
2.2.1標籤控制項QLabel與實例
2.2.2單行文本控制項QLineEdit與實例
2.2.3多行文本控制項QTextEdit與實例
2.2.4多行純文本控制項QPlainTextEdit
2.2.5數字輸入控制項QSpinBox和QDoubleSpinBox
2.2.6下拉列表框控制項QComboBox與實例
2.2.7滾動條控制項QScrollBar和滑塊控制項QSlider與實例
2.2.8儀錶盤控制項QDial
2.2.9進度條控制項QProgressBar與實例
2.3按鈕控制項及用法
2.3.1抽象按鈕QAbstractButton
2.3.2按壓按鈕控制項QPushButton
2.3.3複選框按鈕控制項QCheckBox
2.3.4單選按鈕控制項QRadioButton
2.3.5按鈕控制項的綜合套用鞏嫌連朵實例
2.4日期時間類及相關控制項
2.4.1日曆類QCalendar
2.4.2日期類QDate
2.4.3時間類QTime
2.4.4日期時間類QDateTime
2.4.5定時器QTimer與實例
2.4.6日曆控制項QCalendarWidget
2.4.7液晶顯示控制項QLCDNumber與實例
2.4.8日期時間控制項QDateTimeEdit與實例
2.5布局控制項及用法
2.5.1表單布局QFormLayout與實例
2.5.2水平布局QHBoxLayout和豎直布局QVBoxLayout
2.5.3格柵布局QGridLayout與實例
2.5.4分割器控制項QSplitter與實例
2.6容器控制項及用法
2.6.1分組框控制項QGroupBox
2.6.2框架控制項QFrame與實例
2.6.3滾動區控制項QScrollArea與實例
2.6.4切換卡控制項QTabWidget與實例
2.6.5控制項棧控制項QStackedWidget與實例
2.蜜永甩6.6工具箱控制項QToolBox與實例
2.7網頁瀏覽控制項
2.7.1網頁瀏覽器控制項QWebEngineView與實例
2.7.2網頁QWebEnginePage與實例
第遙嚷糠3章視窗和對話框
3.1視窗QWidget
3.1.1獨立視窗
3.1.2視窗QWidget與實例
3.2選單和動作
3.2.1選單欄QMenuBar與實例
3.2.2選單QMenu與實例
3.2.3動作QAction與實例
3.2.4自定義動作QWidgetAction的實例
3.3工具列和狀態欄
3.3.1工具列QToolBar與實例
3.3.2工具按鈕控制項QToolButton與實例
3.3.3狀態欄QStatusBar與實例
3.4主視窗及其專屬控制項
3.4.1主視窗QMainWindow與實例
3.4.2停靠控制項QDockWidget
3.4.3多文檔區QMdiArea和子視窗QMdiSubWindow與實例
3.4.4在Qt Designer中建立主視窗
3.5對話框視窗
3.5.1自定義對話框QDialog與實例
3.5.2字型對話框QFontDialog與實例
3.5.3顏色對話框QColorDialog
3.5.4檔案對話框QFileDialog與實例
3.5.5輸入對話框QInputDialog與實例
3.5.6信息對話框QMessageBox與實例
3.5.7錯誤信息對話框QErrorMessage
3.5.8進度對話框QProgressDialog與實例
3.5.9嚮導對話框QWizard和嚮導頁與實例
3.6視窗風格和樣式表
3.6.1視窗風格QStyle與實例
3.6.2樣式表
第4章事件與事件的處理函式
4.1事件的類型與處理函式
4.1.1事件的概念與實例
4.1.2QEvent類
4.1.3event()函式與實例
4.1.4常用事件的處理函式
4.2滑鼠事件和鍵盤事件
4.2.1滑鼠事件QMouseEvent和滾輪事件QWheelEvent與實例
4.2.2鍵盤事件QKeyEvent
4.2.3滑鼠拖放事件QDropEvent和QDragMoveEvent與實例
4.2.4拖拽類QDrag與實例
4.2.5上下文選單事件QContextMenuEvent與實例
4.2.6剪貼簿QClipboard
4.3視窗和控制項的常用事件
4.3.1顯示事件QShowEvent和隱藏事件QHideEvent
4.3.2縮放事件QResizeEvent和移動事件QMoveEvent
4.3.3繪製事件QPaintEvent
4.3.4進入事件和離開事件QEnterEvent
4.3.5焦點事件QFocusEvent
4.3.6關閉事件QCloseEvent
4.3.7定時器事件QTimerEvent與實例
4.4事件過濾和自定義事件
4.4.1事件的過濾與實例
4.4.2自定義事件與實例
第5章基於項和模型的控制項
5.1基於項的控制項
5.1.1列表控制項QListWidget及其項QListWidgetItem與實例
5.1.2表格控制項QTableWidget及其項QTableWidgetItem與實例
5.1.3樹結構控制項QTreeWidget及其項QTreeWidgetItem與實例
5.2數據模型基礎
5.2.1Model/View機制與實例
5.2.2數據模型的類型
5.2.3數據項的索引QModelIndex
5.2.4抽象模型QAbstractItemModel
5.3常用數據模型和視圖控制項
5.3.1文本列表模型QStringListModel
5.3.2列表視圖控制項QListView與實例
5.3.3檔案系統模型QFileSystemModel
5.3.4樹視圖控制項QTreeView與實例
5.3.5標準數據模型QStandardItemModel
5.3.6表格視圖控制項QTableView與實例
5.4選擇模型和代理控制項
5.4.1選擇模型QItemSelectionModel
5.4.2代理控制項QStyledItemDelegate與實例
第6章QPainter和Graphics/View繪圖
6.1QPainter繪圖
6.1.1QPainter類與實例
6.1.2鋼筆QPen的用法與實例
6.1.3畫刷QBrush的用法與實例
6.1.4漸變色QGradient的用法與實例
6.1.5繪製幾何圖形
6.1.6繪製文本
6.1.7繪圖路徑QPainterPath的用法與實例
6.1.8填充與實例
6.1.9繪製圖像與實例
6.1.10裁剪區域QRegion與實例
6.1.11坐標變換QTransform與實例
6.1.12視口、邏輯視窗與實例
6.1.13圖形合成與實例
6.2Graphics/View繪圖
6.2.1Graphics/View繪圖框架介紹
6.2.2Graphics/View坐標系
6.2.3視圖控制項QGraphicsView與實例
6.2.4場景QGraphicsScene
6.2.5圖項QGraphicsItem與實例
6.2.6標準圖項與實例
6.3代理控制項和圖形控制項
6.3.1代理控制項QGraphicsProxyWidget與實例
6.3.2圖形控制項QGraphicsWidget
6.3.3圖形控制項的布局與實例
6.3.4圖形效果與實例
第7章數據讀寫和檔案管理
7.1數據讀寫的基本方法
7.1.1QIODevice類
7.1.2位元組數組QByteArray
7.1.3QFile讀寫數據與實例
7.2用流方式讀寫數據
7.2.1文本流QTextStream與實例
7.2.2數據流QDataStream與實例
7.3臨時數據的保存
7.3.1臨時檔案QTemporaryFile
7.3.2臨時路徑QTemporaryDir
7.3.3存檔QSaveFile
7.3.4快取QBuffer與實例
7.4檔案管理
7.4.1檔案信息QFileInfo
7.4.2路徑管理QDir與實例
7.4.3檔案和路徑監視器QFileSystemWatcher
第8章繪製二維圖表
8.1圖表視圖控制項和圖表
8.1.1圖表視圖控制項QChartView
8.1.2圖表QChart與實例
8.2數據序列
8.2.1數據序列抽象類QAbstractSeries
8.2.2XY圖與實例
8.2.3面積圖與實例
8.2.4餅圖與實例
8.2.5條形圖與實例
8.2.6蠟燭圖與實例
8.2.7箱線圖與實例
8.2.8極坐標圖與實例
8.3圖表的坐標軸
8.3.1QAbstractAxis
8.3.2QValueAxis
8.3.3QLogValueAxis與實例
8.3.4QBarCategoryAxis與實例
8.3.5QCategoryAxis與實例
8.3.6QDateTimeAxis與實例
8.4圖例與圖例上的標誌
8.4.1圖例QLegend
8.4.2圖例的標誌QLegendMarker與實例
第9章音頻和視頻的播放與錄製
9.1播放音頻和視頻
9.1.1播放器QMediaPlayer與實例
9.1.2音頻輸出和視頻輸出與實例
9.1.3音頻播放QSoundEffect
9.1.4動畫播放QMovie與實例
9.2錄製音頻和視頻及拍照
9.2.1多媒體設備QMediaDevices
9.2.2音頻接口QAudioInput和視頻接口QCamera
9.2.3媒體捕獲器QMediaCaptureSession與實例
9.2.4媒體格式QMediaFormat
9.2.5媒體錄製QMediaRecorder與實例
9.2.6圖像捕獲QImageCapture與實例
9.2.7媒體元數據QMediaMetaData
第10章資料庫操作
10.1SQL與資料庫連線
10.1.1SQL
10.1.2SQLite資料庫連線與實例
10.1.3MySQL資料庫連線與實例
10.2PySide對資料庫的操作
10.2.1資料庫連線QSqlDatabase
10.2.2資料庫查詢QSqlQuery與實例
10.3資料庫Model/View結構
10.3.1資料庫查詢模型QSqlQueryModel與實例
10.3.2資料庫表格模型QSqlTableModel與實例
10.3.3關係表格模型QSqlRelationalTableModel與實例
第11章列印支持
11.1用印表機進行列印
11.1.1印表機信息QPrinterInfo
11.1.2印表機QPrinter及實例
11.1.3pdf文檔生成器QPdfWriter與實例
11.2列印對話框和列印預覽對話框
11.2.1列印對話框QPrintDialog與實例
11.2.2列印預覽對話框QPrintPreviewDialog與實例
11.2.3列印預覽控制項QPrintPreviewWidget
2.2.1標籤控制項QLabel與實例
2.2.2單行文本控制項QLineEdit與實例
2.2.3多行文本控制項QTextEdit與實例
2.2.4多行純文本控制項QPlainTextEdit
2.2.5數字輸入控制項QSpinBox和QDoubleSpinBox
2.2.6下拉列表框控制項QComboBox與實例
2.2.7滾動條控制項QScrollBar和滑塊控制項QSlider與實例
2.2.8儀錶盤控制項QDial
2.2.9進度條控制項QProgressBar與實例
2.3按鈕控制項及用法
2.3.1抽象按鈕QAbstractButton
2.3.2按壓按鈕控制項QPushButton
2.3.3複選框按鈕控制項QCheckBox
2.3.4單選按鈕控制項QRadioButton
2.3.5按鈕控制項的綜合套用實例
2.4日期時間類及相關控制項
2.4.1日曆類QCalendar
2.4.2日期類QDate
2.4.3時間類QTime
2.4.4日期時間類QDateTime
2.4.5定時器QTimer與實例
2.4.6日曆控制項QCalendarWidget
2.4.7液晶顯示控制項QLCDNumber與實例
2.4.8日期時間控制項QDateTimeEdit與實例
2.5布局控制項及用法
2.5.1表單布局QFormLayout與實例
2.5.2水平布局QHBoxLayout和豎直布局QVBoxLayout
2.5.3格柵布局QGridLayout與實例
2.5.4分割器控制項QSplitter與實例
2.6容器控制項及用法
2.6.1分組框控制項QGroupBox
2.6.2框架控制項QFrame與實例
2.6.3滾動區控制項QScrollArea與實例
2.6.4切換卡控制項QTabWidget與實例
2.6.5控制項棧控制項QStackedWidget與實例
2.6.6工具箱控制項QToolBox與實例
2.7網頁瀏覽控制項
2.7.1網頁瀏覽器控制項QWebEngineView與實例
2.7.2網頁QWebEnginePage與實例
第3章視窗和對話框
3.1視窗QWidget
3.1.1獨立視窗
3.1.2視窗QWidget與實例
3.2選單和動作
3.2.1選單欄QMenuBar與實例
3.2.2選單QMenu與實例
3.2.3動作QAction與實例
3.2.4自定義動作QWidgetAction的實例
3.3工具列和狀態欄
3.3.1工具列QToolBar與實例
3.3.2工具按鈕控制項QToolButton與實例
3.3.3狀態欄QStatusBar與實例
3.4主視窗及其專屬控制項
3.4.1主視窗QMainWindow與實例
3.4.2停靠控制項QDockWidget
3.4.3多文檔區QMdiArea和子視窗QMdiSubWindow與實例
3.4.4在Qt Designer中建立主視窗
3.5對話框視窗
3.5.1自定義對話框QDialog與實例
3.5.2字型對話框QFontDialog與實例
3.5.3顏色對話框QColorDialog
3.5.4檔案對話框QFileDialog與實例
3.5.5輸入對話框QInputDialog與實例
3.5.6信息對話框QMessageBox與實例
3.5.7錯誤信息對話框QErrorMessage
3.5.8進度對話框QProgressDialog與實例
3.5.9嚮導對話框QWizard和嚮導頁與實例
3.6視窗風格和樣式表
3.6.1視窗風格QStyle與實例
3.6.2樣式表
第4章事件與事件的處理函式
4.1事件的類型與處理函式
4.1.1事件的概念與實例
4.1.2QEvent類
4.1.3event()函式與實例
4.1.4常用事件的處理函式
4.2滑鼠事件和鍵盤事件
4.2.1滑鼠事件QMouseEvent和滾輪事件QWheelEvent與實例
4.2.2鍵盤事件QKeyEvent
4.2.3滑鼠拖放事件QDropEvent和QDragMoveEvent與實例
4.2.4拖拽類QDrag與實例
4.2.5上下文選單事件QContextMenuEvent與實例
4.2.6剪貼簿QClipboard
4.3視窗和控制項的常用事件
4.3.1顯示事件QShowEvent和隱藏事件QHideEvent
4.3.2縮放事件QResizeEvent和移動事件QMoveEvent
4.3.3繪製事件QPaintEvent
4.3.4進入事件和離開事件QEnterEvent
4.3.5焦點事件QFocusEvent
4.3.6關閉事件QCloseEvent
4.3.7定時器事件QTimerEvent與實例
4.4事件過濾和自定義事件
4.4.1事件的過濾與實例
4.4.2自定義事件與實例
第5章基於項和模型的控制項
5.1基於項的控制項
5.1.1列表控制項QListWidget及其項QListWidgetItem與實例
5.1.2表格控制項QTableWidget及其項QTableWidgetItem與實例
5.1.3樹結構控制項QTreeWidget及其項QTreeWidgetItem與實例
5.2數據模型基礎
5.2.1Model/View機制與實例
5.2.2數據模型的類型
5.2.3數據項的索引QModelIndex
5.2.4抽象模型QAbstractItemModel
5.3常用數據模型和視圖控制項
5.3.1文本列表模型QStringListModel
5.3.2列表視圖控制項QListView與實例
5.3.3檔案系統模型QFileSystemModel
5.3.4樹視圖控制項QTreeView與實例
5.3.5標準數據模型QStandardItemModel
5.3.6表格視圖控制項QTableView與實例
5.4選擇模型和代理控制項
5.4.1選擇模型QItemSelectionModel
5.4.2代理控制項QStyledItemDelegate與實例
第6章QPainter和Graphics/View繪圖
6.1QPainter繪圖
6.1.1QPainter類與實例
6.1.2鋼筆QPen的用法與實例
6.1.3畫刷QBrush的用法與實例
6.1.4漸變色QGradient的用法與實例
6.1.5繪製幾何圖形
6.1.6繪製文本
6.1.7繪圖路徑QPainterPath的用法與實例
6.1.8填充與實例
6.1.9繪製圖像與實例
6.1.10裁剪區域QRegion與實例
6.1.11坐標變換QTransform與實例
6.1.12視口、邏輯視窗與實例
6.1.13圖形合成與實例
6.2Graphics/View繪圖
6.2.1Graphics/View繪圖框架介紹
6.2.2Graphics/View坐標系
6.2.3視圖控制項QGraphicsView與實例
6.2.4場景QGraphicsScene
6.2.5圖項QGraphicsItem與實例
6.2.6標準圖項與實例
6.3代理控制項和圖形控制項
6.3.1代理控制項QGraphicsProxyWidget與實例
6.3.2圖形控制項QGraphicsWidget
6.3.3圖形控制項的布局與實例
6.3.4圖形效果與實例
第7章數據讀寫和檔案管理
7.1數據讀寫的基本方法
7.1.1QIODevice類
7.1.2位元組數組QByteArray
7.1.3QFile讀寫數據與實例
7.2用流方式讀寫數據
7.2.1文本流QTextStream與實例
7.2.2數據流QDataStream與實例
7.3臨時數據的保存
7.3.1臨時檔案QTemporaryFile
7.3.2臨時路徑QTemporaryDir
7.3.3存檔QSaveFile
7.3.4快取QBuffer與實例
7.4檔案管理
7.4.1檔案信息QFileInfo
7.4.2路徑管理QDir與實例
7.4.3檔案和路徑監視器QFileSystemWatcher
第8章繪製二維圖表
8.1圖表視圖控制項和圖表
8.1.1圖表視圖控制項QChartView
8.1.2圖表QChart與實例
8.2數據序列
8.2.1數據序列抽象類QAbstractSeries
8.2.2XY圖與實例
8.2.3面積圖與實例
8.2.4餅圖與實例
8.2.5條形圖與實例
8.2.6蠟燭圖與實例
8.2.7箱線圖與實例
8.2.8極坐標圖與實例
8.3圖表的坐標軸
8.3.1QAbstractAxis
8.3.2QValueAxis
8.3.3QLogValueAxis與實例
8.3.4QBarCategoryAxis與實例
8.3.5QCategoryAxis與實例
8.3.6QDateTimeAxis與實例
8.4圖例與圖例上的標誌
8.4.1圖例QLegend
8.4.2圖例的標誌QLegendMarker與實例
第9章音頻和視頻的播放與錄製
9.1播放音頻和視頻
9.1.1播放器QMediaPlayer與實例
9.1.2音頻輸出和視頻輸出與實例
9.1.3音頻播放QSoundEffect
9.1.4動畫播放QMovie與實例
9.2錄製音頻和視頻及拍照
9.2.1多媒體設備QMediaDevices
9.2.2音頻接口QAudioInput和視頻接口QCamera
9.2.3媒體捕獲器QMediaCaptureSession與實例
9.2.4媒體格式QMediaFormat
9.2.5媒體錄製QMediaRecorder與實例
9.2.6圖像捕獲QImageCapture與實例
9.2.7媒體元數據QMediaMetaData
第10章資料庫操作
10.1SQL與資料庫連線
10.1.1SQL
10.1.2SQLite資料庫連線與實例
10.1.3MySQL資料庫連線與實例
10.2PySide對資料庫的操作
10.2.1資料庫連線QSqlDatabase
10.2.2資料庫查詢QSqlQuery與實例
10.3資料庫Model/View結構
10.3.1資料庫查詢模型QSqlQueryModel與實例
10.3.2資料庫表格模型QSqlTableModel與實例
10.3.3關係表格模型QSqlRelationalTableModel與實例
第11章列印支持
11.1用印表機進行列印
11.1.1印表機信息QPrinterInfo
11.1.2印表機QPrinter及實例
11.1.3pdf文檔生成器QPdfWriter與實例
11.2列印對話框和列印預覽對話框
11.2.1列印對話框QPrintDialog與實例
11.2.2列印預覽對話框QPrintPreviewDialog與實例
11.2.3列印預覽控制項QPrintPreviewWidget