原创 Qml實現簡易版Qt Linguist(語言家) & QXmlStreamReader / QXmlStreamWriter 的使用方法

【寫在前面】 因爲之前寫了幾篇文章,是 Qt 翻譯的相關的,然後自己就去了解了下 TS 文件( Translate Source 翻譯資源文件 )。 發現只是比較簡單的 XML 文件,又因爲自己對 Qt 讀寫 XML 用的並不是很多,就想

原创 Qml中實現多視圖,多圖像源(QImage / QPixmap)

【寫在前面】 在 Qml 中,實現多視圖很容易,無非是多個 Image 而已。 但是,如果需要動態刷新,則變得困難。 再或者,來自多個不同的圖像源,將更加複雜。 實際上,這在 Qt ( Widgets ) 中實現卻很容易,究其原因,是 Q

原创 FFmpeg開發之旅(四)---全字幕解碼

【寫在前面】 在前一篇,我已經講過了讀取外掛字幕並顯示的方法:理解過濾圖並使用字幕過濾器 但是,全字幕不僅僅是外掛字幕,還有內封字幕和內嵌字幕,因此我們還得考慮其他兩種字幕。 不過,對於內嵌字幕,我們根本不需要解碼,因爲它是直接繪製在視頻

原创 Qt中的那些坑(二)---qDebug和QString中的轉義字符

【寫在前面】 qDebug 和 QString 算是Qt中最常用也最好用的工具了。 然鵝今天在使用它的時候,遇到了一些非常奇怪的問題。 結果實際上這個坑是 qDebug 導致,所以也不能全怪 QString。 【正文開始】 首先,我們來

原创 FFmpeg開發之旅(零)---環境搭建

【寫在前面】 首先,需要說明的是,本系列學習教程是根據自己學習的經歷而寫,不過,因爲自己剛開始接觸音視頻,所以基本可以算是零基礎的了,並且對音視頻的一堆概念也是瞭解不多,因此會盡量寫的基礎和詳細。 然後,現在網上關於FFmpeg的教程資料

原创 FFmpeg開發之旅(二)---音頻解碼

【寫在前面】 前面我介紹了視頻解碼的流程,發現基礎講得有點少。 因此這裏附上一些額外的基礎內容:https://blog.csdn.net/u011283226/article/details/101024093 本篇主要內容: 1、FF

原创 FFmpeg開發之旅(三)---理解過濾圖並使用字幕過濾器

【寫在前面】 首先,拋開字幕本身的格式不說。 一般的字幕分三種,內封字幕、內嵌字幕和外掛字幕。 而本篇所講的是外掛字幕,主要內容有: 1、FFmpeg過濾圖基礎。 2、使用FFmpeg字幕過濾器添加字幕。  【正文開始】 前面提到,字幕

原创 QML中動態創建組件(同步/異步)的方法

【寫在前面】 在QML中想要動態創建組件,一般有兩種方法: 1、使用Loader。 2、使用JavaScript:Qt.createComponent()  / Qt.createQmlObject()。 當然,這裏不僅會介紹他們的一般用

原创 Qt / Qml 實現歷史編輯器 ( 支持歷史搜索 & 關鍵字匹配 )

【寫在前面】 這幾天突然想起來,之前公司有個需求,是類似於搜索引擎的那種關鍵字排序。 當然了,並不是做搜索,而是對歷史輸入記錄的一個匹配 + 排序。 然鵝因爲疫情,工作已經辭了,但想着這個東西挺有意思的,還是決定實現一下。 【正文開始】

原创 理解PCM音頻數據,使用QAudioOutput播放音頻的兩種方法

【寫在前面】 因爲最近需要寫FFmpeg播放音頻的文章,所以就先寫了這篇文章。 並且,FFmpeg解碼出來的音頻是PCM原始音頻數據。 然後,我使用 Qt 的 QAudioOutput 作爲底層音頻輸出(輸出設備)。 本篇主要內容: 1、

原创 Qml中的那些坑(二)---QWindow的closeEvent

【寫在前面】 在很多應用中,很可能會需要這樣的功能: 我們點擊窗口上的 × ,並不是要真的退出應用,而是要它們以小托盤的形式繼續運行。 情況 1:如果 × 是自定義的按鈕,我們可以輕易控制它的行爲,hide -> system tray。

原创 現代OpenGL系列教程(零)---第一個窗口

【寫在前面】 首先,要說明的是:這個系列將使用 glfw + glad 作爲基本的窗口系統和 opengl 擴展,編譯器則爲 VS2013。 其次,本篇從獲取、編譯、鏈接 glfw + glad 庫講起,然後建立 glfw 環境,並保證它

原创 Qt使用TCP實現的簡單服務端和客戶端(帶心跳檢測)

【正文開始】 之前在做一個簡單的聊天工具,界面基本是完成了,但是肯定是要用tcp傳輸的,自己大概的做了一個簡單的實現,然後也加入了心跳檢測的機制,還是先上一下效果圖: 使用Qt的網絡功能,需要在.pro中加入 QT += network

原创 現代OpenGL系列教程(零)---在Qt/Quick中使用OpenGL

【寫在前面】 首先,想要說明的是,本系列學習教程是根據我自己學習的經歷而寫,並非完全科普性的,零基礎的教程,而且其水平也很受我本身的水平影響,so 如果有不足之處,還請多多指教~~ 其次,本系列使用 Qt/Quick 來編寫所有的open

原创 現代OpenGL系列教程(三)---基礎光照

【寫在前面】 本章主要內容: 1、基礎光照類型( Ambient,Diffuse,Specular ) 2、在GLSL中進行光照計算 【正文開始】 在前面的文章中,我們已經學會了如何在glsl中使用一般的頂點數據,並通過使用紋理讓它更加的