原创 V4L2在VIDIOC_DQBUF處阻塞解決方法

之前遇見在VIDIOC_DQBUF處阻塞問題時,只是簡單的設置了一下分辨率解決了當前問題就沒再繼續處理了。今天再看官網的demo時,才發現有個select函數可以來監聽ioctl超時問題: fd_set fds; struct time

原创 V4L2在VIDIOC_DQBUF處阻塞以及視頻花屏殘影問題

1.問題一:使用默認分辨率(640*480)打開視頻出現花屏並阻塞問題: 程序在打開副頭時出現花屏,同時在ioctl(fd, VIDIOC_DQBUF, &buffer)處阻塞住導致UI界面沒有反應,調試時發現副頭打開正常,可讀取一幀數據

原创 Qt在鼠標事件中使用move()移動控件時出現抖動問題

今天新寫了一個QLabel類,主要是爲了將之前關於圖像旋轉縮放遺留的問題解決一下,結果發現在mouseMoveEvent事件中做move()操作時,畫面抖動的很厲害: 本來想加斷點調試看看,結果鼠標一移動就不停的觸發該事件,基本也看不出

原创 QtCreator構建套件時出現黃色和紅色歎號

在構建套件時手動指定了Kit的Qt版本與GCC版本,結果還是出現紅色歎號: 原以爲是Qt版本與GCC不匹配造成的,後來測試發現兩者都正常,按理說不應該是兼容問題,後來把鼠標放到歎號上才找到了原因:  問題就在GCC選擇的ABI與Qt版

原创 make: Warning: File '***/resources.qrc' has modification time 27987 s in the future

移植Qt程序時,在目標電腦上使用QtCreator編譯程序出現該錯誤,原因是某些文件修改日期與系統當前日期不一致,導致編譯時需要等待倒計時結束,如果時間短等等還行,但是像我這個需要將近八小時的還是算了吧,既然知道問題所在那就好辦多了,查看

原创 Linux C之getopt_long()函數

該函數遇見位置:V4L2官網中的capture.c文件; 1.函數作用:解析命令行參數,支持長選項,如--device=/dev/video0;    Ubuntu16.04下getopt_long()函數原型: NAME

原创 虛擬機啓動報“內部錯誤”

今天掛起Ubuntu系統時,虛擬機出現一直卡住未響應問題,等了很長時間也未響應,於是手動關閉虛擬機,當再次啓動虛擬機時,報“內部錯誤”彈窗,上網查說是與虛擬機相關的幾個服務未開啓,查看服務: 顯示的是已啓動,手動挨個關閉重啓一下,再打開

原创 libpng warning:Application built with 1.6.17 but running with 1.5.12

關於opencv移植報libpng版本不一致的錯誤,我之前一直以爲程序運行時找到的libpng庫爲目標機上的libpng1.5.12版本,可是後來 在該系統裏找了半天沒找到該版本的libpng,最後纔想明白這個錯誤是opencv交叉編譯時

原创 Ubuntu16.04交叉編譯Qt4.8.6與Qt5.6.0問題(MIPS平臺)

手裏有臺龍芯3A3000臺式機,剛到的時候進入系統查看發現是mips64el架構,因此當前面臨的問題是:要麼在loongson電腦上搭建環境進行軟件開發,或者在我自己電腦上搭建交叉編譯環境並且重新編譯qt再開發。前者由於該龍芯系統是基於F

原创 QSizePolicy屬性介紹

QSizePolicy描述着控件在佈局管理器中水平方向和垂直方向大小拉伸的策略,重點是在佈局管理器中,由佈局管理器來控制控件兩個方向的大小是如何變化,而這個策略與sizeHint()屬性(控件的建議大小,控件必須是在佈局管理器中該屬性纔有

原创 QWidget全屏與退出

QWidget類有個void QWidget::showFullScreen()方法可以讓QWidget進入全屏模式,不過如果程序之前調用過setFixedSize(),該方式是不起作用的。同時它還有QWidget::showMaximi

原创 Qt之樣式表簡單使用

Qt的樣式表類似於HTML Cascading Style Sheets (CSS) 層疊樣式表,語法都差不多,雖然我都沒學過吧......不過我也不打算深學,看一下Qt幫助手冊的"The Style Sheet Syntax",理解如何

原创 QString與char*相互轉換

在混合編程時,經常遇到QString與char*之間的相互轉換,有時候忘記了就去網上查,一查就有很多資料可看。不過今天還是來單看一下這兩種類型的區別以及QByteArray類,順便記錄一下如何轉換,免得每次忘了都要重新上網查。 1.cha

原创 QScrollArea滾動條的出現

有時在UI界面直接拖出一個QScrollArea控件時,會發現不管往裏邊放多大的子控件,滾動條都不會出現,哪怕使用setFixedSize()手動固定死了子控件大小滾動條也不會出現。 1.去幫助手冊看QScrollArea類的介紹: Q

原创 Qt控件提升爲自定義類

今天在提升QLabel控件爲自定義控件時,發現彈出的對話框裏沒有直接出現我的新Label類,後來手動填寫自定義類名才添加上去,後邊還出現“Not used”,嚇我一跳,不過還好能識別。像QtCreator中UI界面中的奇葩問題也還遇到過幾