原创 QT獲取頂級窗口指針並不是準確的頂級窗口指針解決辦法

在QT中我們可以通過topLevelWidget()函數獲取頂級窗口指針,但是獲取到的頂級窗口指針並不是該窗口創建的時候的使用的頂級窗口指針,語句如下: MainWindow* parentWidget1 = (MainWindow*)

原创 QT視頻客戶端全屏後視頻卡住解決辦法

QT編寫視頻監控客戶端全屏後會發生視頻卡住的問題,該問題的解決辦法是重載showEvent事件,按照如下方式實現。 void VideoCanvas::showEvent(QShowEvent * event) { this->

原创 QT+SDL2,視頻渲染屏幕閃爍解決辦法

最近在使用ffmpeg+sdl2+qt編寫視頻監控客戶端,發現一個問題:使用SDL渲染視頻的時候屏幕一直閃爍,通過資料查詢和網上求助有一些解決辦法,即重載paintEngine()函數,但是重載該函數會造成一些意想不到的後遺症,且QT幫助

原创 QT指定.ui文件生成的頭文件路徑

在.pro文件中增加下面一句話: #specify ui directory. UI_DIR=./UI

原创 QT在開發環境中打開應用程序與雙擊exe程序界面不一樣

今天發現一個問題:“QT在開發環境中打開應用程序與雙擊exe程序界面不一樣”,通過網上查資料該問題已解決特記錄一下。 首先總結一下問題的根因:因爲開發環境中由開發環境負責加載資源信息,而雙擊生成的exe開發環境不會爲其加載資源信息,所以會

原创 avformat_open_input返回失敗問題

很多時候我們希望通過回調函數給ffmpeg傳遞碼流,讓它幫我們完成解碼操作,要實現該功能需要定義AVIOContext和AVFormatContext對象,下面把核心代碼貼出來: if (NULL != m_pull_d

原创 QT使用ffmpeg環境搭建

在.pro文件中添加如下內容: INCLUDEPATH += $$PWD/ffmpeg_4_0_win32/include LIBS += $$PWD/ffmpeg_4_0_win32/lib/avcodec.lib \ $$

原创 QT窗口全屏與退出全屏

void VideoWindow::doFullScreen() { m_rect = geometry(); setWindowFlags(Qt::Window); showFullScreen(); } v

原创 Windows下多線程編程

1、線程創建 使用_beginthread()函數創建 int rtp_receiver::start_send_thread() { m_b_send_thread_runing = true; m_send_thre

原创 虛擬內存與實際內存

轉自:https://blog.csdn.net/huyiyang2010/article/details/7815491 在Linux命令行中執行top命令,可以查詢到所有進程使用的VIRT虛擬內存、RES常駐內存和共享內存SHR。 那

原创 yum 安裝gcc

1、列出centos可以使用的gcc yum list all --enablerepo='centos-sclo-rh' | grep "devtoolset-7" 2、安裝 yum install -y devtoolset-7

原创 網絡編程之epoll

網絡編程中異步IO主要有select和epoll兩種方式,彙總如下: select與epoll比較 名稱 優點 缺點 select 跨平臺,Windows和Linux都支持 可管理的socket數量較少,最大1024,且當socket數量

原创 gtest學習筆記

TEST TEST宏的作用是創建一個簡單測試,他定義了一個測試函數,在該函數中可以使用任何C++代碼並使用提供的斷言來進行檢查。 a)    TEST(test_case_name, test_name) b)    TEST_F(tes

原创 gdb調試程序

1、常規調試 假設存在可執行程序a.out, 則執行: gdb a.out 2、帶有命令行參數程序調試 假設存在可執行程序a.out, 執行時需要添加命令行參數,如 a.out argv1 argv2 argv3 則對應的調試方法

原创 git生成ssh_key

在電腦上新安裝了git客戶端後我們需要添加ssh_key,以便git進行權限驗證允許我們從git服務器中下載文件,添加的步驟爲: 1、設置用戶名 git config --global user.name "heibao" 2、設置郵