C++QT5学习视频笔记
PS:因為最近的項目需要,要做一個界面,雖然之前學習過也用過PyQt做過界面,但考慮到Python程序運行的效率低及工控機中底層硬件的調用,于是選擇了C++ QT來做界面。
網上也找了很多的資料、視頻、書籍來學習Qt5,但很多都是基于Qt Creator的程序開發,因為時間緊迫且自己的C++水平也很一般,但我需要快速入門且用于實踐。在Windows系統下,個人覺得還是通過Qt designer進行界面繪制,然后在VS中編寫信號函數、槽函數,這樣做的效率比較高。
本著“用到什么,就學什么”的學習理念,我找到了下面這套視頻教程,寫這篇的博客初衷是:通過查看每個視頻的目錄,大概知道視頻講了哪些內容,因為自己不是專門學Qt的,可能在設計一個界面時,就只用到了按鈕和文本框,那就去找相對應的視頻,而不需要全部都學,省時省力。同時每個視頻中列舉到的示例和關鍵點,我也記了下來,用于以后自己需要做界面時,瀏覽本博文內容就大概知道自己的界面需要學哪些內容,哪些示例對自己有幫助,就去看下面對應的視頻即可。
1.在進行Opencv和Qt編程時,若出現報錯:諸如無法解析外部命令等,多半是環境沒配對。
2.在VS中編譯運行Qt界面時,有時候需要調出控制臺來查看程序的執行情況。
3.Windows安裝qt與VS2019添加QT工具過程
https://blog.csdn.net/ljb9854/article/details/102600931
https://blog.csdn.net/visual_eagle/article/details/106236109
視頻目錄
- 01 介紹
- 001 介紹
- 002 QT5開發環境qtcreatorSDK和vs插件下載和安裝
- 003 QT的SDK中各個目錄和文件功能說明
- 004 創建第一個qtcreator項目并確定文件和目錄的作用
- 005 linux中安裝qt及其依賴并編寫測試項目
- 006 windows下qtcreator調試環境安裝配置使用
- 007 qtcreator引入第三方opencv庫和頭文件路徑
- 008 qtcreator項目配置添加界面并設置構建和運行
- 009 vs2015創建QT項目并詳細介紹vs項目設置
- 010 VS設置編譯的qt庫版本和導出為qtcreator項目
- 02 QMake項目原理和手動配置qtcreator
- 011 qt項目由源碼和界面資源文件到程序的步驟分析
- 012 配置vs和qmake環境變量執行qmake生成makefile
- 013 通過批處理完成qt項目編譯并移植到ubuntu下完成qt項目配置和編譯
- 014 qmake的pro項目導出為vs項目
- 015 qmake引入qt庫創建窗口設置頭文件分析makefile并設置輸出
- 016 qmake語法設置pro中的庫導入路徑和導入庫導入opencv
- 017 qmake創建動態鏈接和靜態鏈接庫并在windows中輸出dll和lib
- 018 pro項目文件中設置dll和lib的輸出路徑并在ubuntu下測試so庫
- 019 qtcreator的debug版本和release版本配置和設置
- 020 qtcreator的qmake跨平臺配置
- 03 Qt信號槽使用及其原理
- 021 QT信號槽概念原理講解
- 022 通過qt設計器qt designer設置關閉窗口和最小化窗口信號槽
- 023 手動添加信號函數并分析qt的moc如何生成信號代碼
- 024 手動創建槽函數并在qt designer中實現手動創建的信號槽綁定
- 025 使用connect函數實現信號槽綁定并分析moc生成的槽函數代碼
- 04 Qt核心窗口基類QWidget
- 026 QWidget類分析顯示和隱藏接口說明線程類QThread使用方法
- 027 創建vs項目調用QWidget顯示和隱藏并演示線程中調用槽函數的錯誤
- 028 創建QWidget的子類添加支持信號槽的宏connect函數綁定信號槽
- 029 獲取QWidget坐標尺寸并設置geometry
- 030 創建QThread子類并使用signals關鍵字創建信號函數
- 031 使用slots手動創建槽函數并使用線程信號和槽中實現窗口移動動畫
- 032 QWidget窗口狀態設置最大化最小化全屏
- 033 QWidget窗口樣式設置無邊框最大化最小化關閉按鈕定義
- 05 QString字符串處理及中文亂碼問題處理
- 034 gbk_utf_ansi_asc字符集分析字節序
- 035 QString項目創建空和NULL判斷
- 036 QString格式化字符串轉換
- 037 QString查找_截斷_替換_分割字符串接口講解
- 038 QString的indexof查找字符串的示例
- 039 QString字符串查找替換replace和切割split示例
- 040 QString通過QRegexp正則表達式查找替換分割字符串
- 041 Qt中文亂碼問題在vs項目中顯示中文
- 042 VS中正常移植到QTCreator亂碼的問題源碼文件的編碼格式轉換
- 043 編碼方式轉換將QString中存放的中文在WinAPI中顯示
- 06 QLabelQPushButton和QLineEdit
- 044 QLabel設置文件格式顏色背景色字體和大小
- 045 QLabel使用pixmap顯示圖和qss設置背景縮放圖
- 046 QLabel播放gif動畫
- 047 QLabel富文本顯示并處理鏈接點擊和hover信號
- 048 QLable設置可編輯可選擇并獲取選擇的文本
- 049 QPushButton介紹和點擊選擇鼠標按住松開事件設置
- 050 QPushButon快捷鍵設置組合鍵順序按鍵激發信號
- 051 QPushButton背景字體qss樣式設置添加背景圖片
- 052 QPushButton使用qss添加圓角邊框并添加漸變顏色
- 053 QPushButton通過qss實現鼠標懸停設置不同的漸變背景
- 054 QLineEdit分析文本內容提示_輸入和獲取只讀刪掉按鈕最大輸入
- 055 QLineEdit只讀_刪除按鈕_設置字符長度_重做和撤銷
- 056 QLineEdit的setInputMask輸入掩碼格式詳解和示例
- 057 QLineEdit的QValidator檢驗整型和浮點型輸入并關閉科學計數法
- 058 QLineEdit的QRegExpValidator正則驗證郵箱格式
- 059 QLineEdit的信號事件修改和確認
- 060 QLineEdit的qss樣式設置
- 07 QLayout布局器QObject子節點遍歷
- 061 QObject子節點訪問接口并示例遍歷子節點
- 062 遞歸遍歷QObject所有子節點并獲取控件類型做轉換
- 063 QVBoxLayout垂直布局器ui添加并分析其源碼機制演示另三種布局器
- 064 QSizePolicy布局尺寸策略分析
- 065 手動創建代碼添加QVBoxlayout布局窗口
- 066 QVBoxLayout和QHboxLayout三種尺寸策略講解和演示
- 067 QVBoxLayout和QHboxLayout最大最小尺寸設置演示
- 068 QGridLayout接口講解和代碼示例
- 069 QFormLayout布局函數介紹并添加輸入框按鈕和子布局器
- 070 QFormLayout遍歷布局中所有元素實現空驗證和所有內容情況信號槽
- 08 QCheckBoxQRadioBoxQComboBoxQSlider
- 071 QCheckbox分析信號處理單選多選分組單選
- 072 QButtonGroup添加QCheckBox處理點擊選擇信號
- 073 QRadioButton結合QButtonGroup和QVBoxLayout
- 074 QComboBox控件介紹并使用界面設計器添加數據
- 075 QComboBox通過代碼添加內容包括圖標
- 076 QComboBox插入QVariant用戶自定義數據
- 077 QComboBox信號事件處理
- 078 QSlider屬性方法講解和項目創建
- 079 QSlider信號事件處理
- 080 QSlider樣式qss設計
- 081 QSlider重載鼠標事件UI支持自定義XSlider滑動條移到點擊位置
- 09 列表控件列表表格樹
- 082 QListWidget基礎和屬性設置
- 083 QListWidget手動插入數據包含圖標的多種方法
- 084 QListWidget遍歷元素和編輯列表實現
- 085 QListWidget內容排序
- 086 QlistWidget信號事件
- 087 QListWidget顯示其他控件
- 088 QTableWidget控件介紹
- 089 QTableWidget常用屬性分析和代碼分析
- 090 QTableWidget水平和垂直標題的插入和設置
- 091 QTableWidget插入數據插入圖標圖片和widget控件
- 092 QTableWidget選擇多行和刪除多行處理
- 093 QTableWidget信號鼠標懸停事件
- 094 QTableWidget標題欄點擊信號
- 095 QTableWidget樣式qss設定
- 096 QTreeWidget介紹
- 097 QTreeWidget屬性分析和設置
- 098 QTreeWidget標題插入和設置
- 099 QTreeWidget插入數據圖標widget
- 100 QTreeWIdget信號事件
- 101 QTreeWidget樣式qss設置
- 10 QDialog和進度條
- 102 QDialog屬性方法設置
- 103 重載QDialog開發自定義樣式圓角邊框和按鈕的XMessageBox
- 104 QProgressBar進度條線程模擬顯示
- 105 QDialog進度條結束后窗口淡出動畫
- 11 菜單工具欄和狀態欄QMainWindow
- 106 QT菜單QMenuBar接口介紹
- 107 QMenuBar通過代碼添加到三級菜單
- 108 QMenu和QAction菜單事件信號
- 109 鼠標懸停動態產生Qmenu菜單
- 110 QMenu菜單的單選和多選
- 111 QMenu按鈕菜單
- 112 QTooBar工具欄和QStatusBar狀態欄
- 113 QMainWindow菜單工具狀態欄
- 12 QT事件重載 QEvent
- 114 重載并測試所有事件的入口函數event
- 115 重載event或按下松開函數捕獲鍵盤事件解決連按問題
- 116 鼠標事件三種坐標按鍵狀態和重載事件函數介紹
- 117 鼠標事件代碼演示三種坐標顯示和轉換
- 118 鼠標按鍵事件左右鍵和中間鍵
- 119 鼠標雙擊單擊和移動事件并示例右鍵菜單
- 120 鼠標圖標替換為圖片
- 121 窗口大小變化事件自動改變控件大小
- 13 QT圖像繪制QPainter
- 122 QPainter的qt繪制介紹
- 123 繪制文本并設置動態設置字體
- 124 繪制線并設置線的參數
- 125 QImage各種創建空間的接口并做清理和空判斷
- 126 QImage空間訪問接口內存存儲方式圖像拉升和存儲
- 127 QImage代碼演示多種遍歷方法修改圖像
- 14 Qt實戰圖片編輯器XPS
- 128 XPS圖片編輯項目需求設計
- 129 XPS項目創建界面設計
- 130 XPS菜單打開并顯示圖像
- 131 XPS抗鋸齒的畫筆功能
- 132 XPS畫筆的粗細設置
- 133 XPS畫筆顏色設置
- 134 XPS橡皮擦功能完成
- 135 XPS圖片保存功能完成和課程結束語
01 介紹
001 介紹
002 QT5開發環境qtcreatorSDK和vs插件下載和安裝
Qt官網:https://www.qt.io/cn
003 QT的SDK中各個目錄和文件功能說明
004 創建第一個qtcreator項目并確定文件和目錄的作用
005 linux中安裝qt及其依賴并編寫測試項目
006 windows下qtcreator調試環境安裝配置使用
007 qtcreator引入第三方opencv庫和頭文件路徑
008 qtcreator項目配置添加界面并設置構建和運行
009 vs2015創建QT項目并詳細介紹vs項目設置
1.Qt項目的環境配置
2.調出控制臺
010 VS設置編譯的qt庫版本和導出為qtcreator項目
1.將vs中編寫好的Qt程序轉換為Qt creator的項目
2.若移植了一個別人的程序,可能會加載不了,需要先設置版本,在視頻5:00處
3.在已有項目中手動添加一個ui文件,并給它綁定類
02 QMake項目原理和手動配置qtcreator
011 qt項目由源碼和界面資源文件到程序的步驟分析
012 配置vs和qmake環境變量執行qmake生成makefile
013 通過批處理完成qt項目編譯并移植到ubuntu下完成qt項目配置和編譯
014 qmake的pro項目導出為vs項目
015 qmake引入qt庫創建窗口設置頭文件分析makefile并設置輸出
016 qmake語法設置pro中的庫導入路徑和導入庫導入opencv
017 qmake創建動態鏈接和靜態鏈接庫并在windows中輸出dll和lib
018 pro項目文件中設置dll和lib的輸出路徑并在ubuntu下測試so庫
019 qtcreator的debug版本和release版本配置和設置
020 qtcreator的qmake跨平臺配置
03 Qt信號槽使用及其原理
021 QT信號槽概念原理講解
022 通過qt設計器qt designer設置關閉窗口和最小化窗口信號槽
023 手動添加信號函數并分析qt的moc如何生成信號代碼
024 手動創建槽函數并在qt designer中實現手動創建的信號槽綁定
025 使用connect函數實現信號槽綁定并分析moc生成的槽函數代碼
04 Qt核心窗口基類QWidget
026 QWidget類分析顯示和隱藏接口說明線程類QThread使用方法
027 創建vs項目調用QWidget顯示和隱藏并演示線程中調用槽函數的錯誤
1.自己創建一個QWidget,修改窗口標題
028 創建QWidget的子類添加支持信號槽的宏connect函數綁定信號槽
1.線程的調用
2.在線程中讓窗體顯示3s后消失
029 獲取QWidget坐標尺寸并設置geometry
030 創建QThread子類并使用signals關鍵字創建信號函數
1.使用線程,將窗口從左上角移動到右下角
031 使用slots手動創建槽函數并使用線程信號和槽中實現窗口移動動畫
032 QWidget窗口狀態設置最大化最小化全屏
1.設置窗口狀態為最大化
實例:將最大化、最小化、默認狀態、全屏與信號槽綁定在一起
033 QWidget窗口樣式設置無邊框最大化最小化關閉按鈕定義
PS:所有的窗口類型去源程序中查看
①示例,建一個無邊框的窗體
效果:
②示例:
效果:
③示例:
效果:
效果:
④示例:標題欄只保留關閉按鈕
05 QString字符串處理及中文亂碼問題處理
034 gbk_utf_ansi_asc字符集分析字節序
035 QString項目創建空和NULL判斷
空判斷舉例:
輸出:
036 QString格式化字符串轉換
字符串拼接舉例:
輸出:
格式化字符串:
①字符串拼接
②字符串與整型、浮點型之間的轉換
037 QString查找_截斷_替換_分割字符串接口講解
通過正則表達式查找
038 QString的indexof查找字符串的示例
示例:QString字符串的遍歷
輸出:
039 QString字符串查找替換replace和切割split示例
示例:QString字符串的查找
示例:QString字符串的替換
示例:QString字符串的切割
040 QString通過QRegexp正則表達式查找替換分割字符串
示例:
041 Qt中文亂碼問題在vs項目中顯示中文
QStringLiteral:將編碼格式轉化為UTF-8
042 VS中正常移植到QTCreator亂碼的問題源碼文件的編碼格式轉換
原因:因為QTCreator中本身就是utf-8的編碼格式,再使用QStringLiteral的話,就會出錯。
Qt中文亂碼問題在vs項目中顯示中文除了041中的方法外,還可以在程序中加入:
也可以解決中文亂碼問題。
043 編碼方式轉換將QString中存放的中文在WinAPI中顯示
06 QLabelQPushButton和QLineEdit
044 QLabel設置文件格式顏色背景色字體和大小
045 QLabel使用pixmap顯示圖和qss設置背景縮放圖
具體的操作看視頻,在QT設計師中通過QLabel顯示圖片,關于圖片的縮放等等。
046 QLabel播放gif動畫
047 QLabel富文本顯示并處理鏈接點擊和hover信號
示例:使用linkActivated()和linkHovered(),配合槽函數,鼠標放在Label上面產生一個事件,鼠標點擊產生一個事件,具體的看視頻。
048 QLable設置可編輯可選擇并獲取選擇的文本
示例:見視頻
049 QPushButton介紹和點擊選擇鼠標按住松開事件設置
示例:QPushButton按鍵的click()、click(bool)、pressed()、released()事件
050 QPushButon快捷鍵設置組合鍵順序按鍵激發信號
示例:通過按鍵盤上事先設定好的快捷鍵,來觸發按鈕的事件
051 QPushButton背景字體qss樣式設置添加背景圖片
示例:講了QPushButton中設置背景色、字體及顏色、設置背景圖片、PushButton的flat屬性。
052 QPushButton使用qss添加圓角邊框并添加漸變顏色
示例:
1.設置背景色、字體及顏色,和QLabel一樣,選中按鈕,右擊選擇改變樣式表,里面可以設置按鈕的背景(添加資源)、漸變色(添加漸變)、字體的顏色(添加顏色)、字體的大小樣式(添加字體)。
2.設置圓角邊框
3.設置按鈕的漸變效果
樣式自己編輯
053 QPushButton通過qss實現鼠標懸停設置不同的漸變背景
示例:鼠標沒有移動到按鈕上時,按鈕是一種形態,鼠標移動到按鈕上時,按鈕是另一種形態。
054 QLineEdit分析文本內容提示_輸入和獲取只讀刪掉按鈕最大輸入
示例:效果如下,具體的看視頻
055 QLineEdit只讀_刪除按鈕_設置字符長度_重做和撤銷
056 QLineEdit的setInputMask輸入掩碼格式詳解和示例
示例:指定輸入QLineEdit中的文本形式,如IP地址、字母等等。
057 QLineEdit的QValidator檢驗整型和浮點型輸入并關閉科學計數法
示例:對于QLineEdit中的內容,規定其輸入的字符類型,輸入的數據范圍,精度,使不使用科學計數法等等。
058 QLineEdit的QRegExpValidator正則驗證郵箱格式
示例:使用正則表達式規定QLineEdit中的內容是郵箱的格式,若輸入不正確時,會提示報錯,同時也會保存正確的輸入郵箱。
059 QLineEdit的信號事件修改和確認
示例:對于QLineEdit信號的一系列操作。
060 QLineEdit的qss樣式設置
示例:設置QLineEdit的樣式:邊框的樣式、輸入字符為密碼的格式、圓角等等,都和QLabel設置的一樣,都在Qt設計師中完成,不需要在VS中編寫代碼。
07 QLayout布局器QObject子節點遍歷
061 QObject子節點訪問接口并示例遍歷子節點
示例:假設在一個模板中創建了幾個對象,如下所示,可以通過遍歷的方式,得到這些對象的名稱,
若在模板中還嵌套一個模板,可以通過如下方式進行遍歷:
062 遞歸遍歷QObject所有子節點并獲取控件類型做轉換
示例:
1.遞歸遍歷QObject所有子節點
輸出:
2.對于大型項目,很多的控件,可以通過遞歸獲取控件的類型,并通過強轉換改變原控件的類型
063 QVBoxLayout垂直布局器ui添加并分析其源碼機制演示另三種布局器
064 QSizePolicy布局尺寸策略分析
065 手動創建代碼添加QVBoxlayout布局窗口
066 QVBoxLayout和QHboxLayout三種尺寸策略講解和演示
067 QVBoxLayout和QHboxLayout最大最小尺寸設置演示
也可以通過Qt設計師中,加彈簧來解決。
068 QGridLayout接口講解和代碼示例
069 QFormLayout布局函數介紹并添加輸入框按鈕和子布局器
070 QFormLayout遍歷布局中所有元素實現空驗證和所有內容情況信號槽
示例:手動創建代碼完成如下界面的制作,通過輸入Name、Age、Email,這時候之前講到的遍歷QObject所有子節點并獲取控件類型做轉換就派上用場了,可以遍歷Name、Age、Email中輸入的內容,或進行保存Save,或進行清除Clear。
當然也可以通過在QT設計師中完成界面的制作,槽函數信號函數等等可以在VS中編寫代碼,這樣比較省事。
08 QCheckBoxQRadioBoxQComboBoxQSlider
071 QCheckbox分析信號處理單選多選分組單選
072 QButtonGroup添加QCheckBox處理點擊選擇信號
073 QRadioButton結合QButtonGroup和QVBoxLayout
074 QComboBox控件介紹并使用界面設計器添加數據
075 QComboBox通過代碼添加內容包括圖標
076 QComboBox插入QVariant用戶自定義數據
077 QComboBox信號事件處理
078 QSlider屬性方法講解和項目創建
079 QSlider信號事件處理
080 QSlider樣式qss設計
081 QSlider重載鼠標事件UI支持自定義XSlider滑動條移到點擊位置
09 列表控件列表表格樹
082 QListWidget基礎和屬性設置
083 QListWidget手動插入數據包含圖標的多種方法
084 QListWidget遍歷元素和編輯列表實現
085 QListWidget內容排序
086 QlistWidget信號事件
087 QListWidget顯示其他控件
088 QTableWidget控件介紹
089 QTableWidget常用屬性分析和代碼分析
090 QTableWidget水平和垂直標題的插入和設置
091 QTableWidget插入數據插入圖標圖片和widget控件
092 QTableWidget選擇多行和刪除多行處理
093 QTableWidget信號鼠標懸停事件
094 QTableWidget標題欄點擊信號
095 QTableWidget樣式qss設定
096 QTreeWidget介紹
097 QTreeWidget屬性分析和設置
098 QTreeWidget標題插入和設置
099 QTreeWidget插入數據圖標widget
100 QTreeWIdget信號事件
101 QTreeWidget樣式qss設置
10 QDialog和進度條
102 QDialog屬性方法設置
103 重載QDialog開發自定義樣式圓角邊框和按鈕的XMessageBox
104 QProgressBar進度條線程模擬顯示
105 QDialog進度條結束后窗口淡出動畫
11 菜單工具欄和狀態欄QMainWindow
106 QT菜單QMenuBar接口介紹
107 QMenuBar通過代碼添加到三級菜單
108 QMenu和QAction菜單事件信號
109 鼠標懸停動態產生Qmenu菜單
110 QMenu菜單的單選和多選
111 QMenu按鈕菜單
112 QTooBar工具欄和QStatusBar狀態欄
113 QMainWindow菜單工具狀態欄
12 QT事件重載 QEvent
114 重載并測試所有事件的入口函數event
115 重載event或按下松開函數捕獲鍵盤事件解決連按問題
116 鼠標事件三種坐標按鍵狀態和重載事件函數介紹
117 鼠標事件代碼演示三種坐標顯示和轉換
118 鼠標按鍵事件左右鍵和中間鍵
119 鼠標雙擊單擊和移動事件并示例右鍵菜單
120 鼠標圖標替換為圖片
121 窗口大小變化事件自動改變控件大小
13 QT圖像繪制QPainter
122 QPainter的qt繪制介紹
123 繪制文本并設置動態設置字體
124 繪制線并設置線的參數
125 QImage各種創建空間的接口并做清理和空判斷
126 QImage空間訪問接口內存存儲方式圖像拉升和存儲
127 QImage代碼演示多種遍歷方法修改圖像
14 Qt實戰圖片編輯器XPS
128 XPS圖片編輯項目需求設計
129 XPS項目創建界面設計
130 XPS菜單打開并顯示圖像
131 XPS抗鋸齒的畫筆功能
132 XPS畫筆的粗細設置
133 XPS畫筆顏色設置
134 XPS橡皮擦功能完成
135 XPS圖片保存功能完成和課程結束語
總結
以上是生活随笔為你收集整理的C++QT5学习视频笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机右键菜单更换顺序,电脑图标排列顺序
- 下一篇: C++ 操作Word入门教程