您好,登錄后才能下訂單哦!
這篇文章主要講解了“Qt的開發技巧有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Qt的開發技巧有哪些”吧!
很多人問Qt嵌入式平臺用哪個好,這里統一回答(當前時間節點2018年):imx6+335x比較穩定,性能高就用RK3288 RK3399,便宜的話就用全志H3,玩一玩可以用樹莓派香橙派。
對于大段的注釋代碼,建議用 #if 0 #endif 將代碼塊包含起來,而不是將該段代碼選中然后全部 // ,下次要打開這段代碼的話,又需要重新選中一次取消,如果采用的是 #if 0則只要把0改成1即可,效率大大提升。
Qt打包發布,有很多辦法,Qt5以后提供了打包工具windeployqt(linux上為linuxdeployqt,mac上為macdeployqt)可以很方便的將應用程序打包,使用下來發現也不是萬能的,有時候會多打包一些沒有依賴的文件,有時候又會忘記打包一些插件尤其是用了qml的情況下,而且不能識別第三方庫,比如程序依賴ffmpeg,則對應的庫需要自行拷貝,終極大法就是將你的可執行文件復制到Qt安裝目錄下的bin目錄,然后整個一起打包,挨個刪除不大可能依賴的組件,直到刪到正常運行為止。
Qt中的動畫,底層用的是QElapsedTimer定時器來完成處理,比如產生一些指定規則算法的數據,然后對屬性進行處理。
在繪制無背景顏色只有邊框顏色的圓形時候,可以用繪制360度的圓弧替代,效果完全一致。
QRect rect(-radius, -radius, radius * 2, radius * 2); //以下兩種方法二選一,其實繪制360度的圓弧=繪制無背景的圓形 painter->drawArc(rect, 0, 360 * 16); painter->drawEllipse(rect);
不要把d指針看的很玄乎,其實就是在類的實現文件定義了一個私有類,用來存放局部變量,個人建議在做一些小項目時,沒有太大必要引入這種機制,會降低代碼可讀性,增加復雜性,新手接受項目后會看的很懵逼。
很多人在繪制的時候,設置畫筆以為就只可以設置個單調的顏色,其實QPen還可以設置brush,這樣靈活性就提高不知道多少倍,比如設置QPen的brush以后,可以使用各種漸變,比如繪制漸變顏色的進度條和文字等,而不再是單調的一種顏色。
很多控件都帶有viewport,比如QTextEdit/QTableWidget/QScrollArea,有時候對這些控件直接處理的時候發現不起作用,需要對其viewport()設置才行,比如設置滾動條區域背景透明,需要使用scrollArea->viewport()->setStyleSheet("background-color:transparent;");而不是scrollArea->setStyleSheet("QScrollArea{background-color:transparent;}");
有時候設置了鼠標跟蹤setMouseTracking為真,如果該窗體上面還有其他控件,當鼠標移到其他控件上面的時候,父類的鼠標移動事件MouseMove識別不到了,此時需要用到HoverMove事件,需要先設置 setAttribute(Qt::WA_Hover, true);
Qt封裝的QDateTime日期時間類非常強大,可以字符串和日期時間相互轉換,也可以毫秒數和日期時間相互轉換,還可以1970經過的秒數和日期時間相互轉換等。
QDateTime dateTime; QString dateTime_str = dateTime.currentDateTime().toString("yyyy-MM-dd hh:mm:ss"); //從字符串轉換為毫秒(需完整的年月日時分秒) datetime.fromString("2011-09-10 12:07:50:541", "yyyy-MM-dd hh:mm:ss:zzz").toMSecsSinceEpoch(); //從字符串轉換為秒(需完整的年月日時分秒) datetime.fromString("2011-09-10 12:07:50:541", "yyyy-MM-dd hh:mm:ss:zzz").toTime_t(); //從毫秒轉換到年月日時分秒 datetime.fromMSecsSinceEpoch(1315193829218).toString("yyyy-MM-dd hh:mm:ss:zzz"); //從秒轉換到年月日時分秒(若有zzz,則為000) datetime.fromTime_t(1315193829).toString("yyyy-MM-dd hh:mm:ss[:zzz]");
感謝各位的閱讀,以上就是“Qt的開發技巧有哪些”的內容了,經過本文的學習后,相信大家對Qt的開發技巧有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。