原创 如何在windows和mac下編譯 libcurl 庫 並加入qt工程

curl是很成熟的網絡通訊第三方庫,可以用命令行的形式,也可以自己編譯成動態庫,加入到源碼裏,比如加入到qt工程裏。 curl官網:https://curl.haxx.se/ 第一步 下載源碼 進入官方,點擊下載,進入下載頁面(htt

原创 結構體向QByteArray傳值,轉換成二進制數據

數據傳輸中,經常會與下位機通訊,用串口或者tcp,經常會遇到如何把結構體轉換成二進制數據的問題,在此提供兩個常用的方法,以供參考。 首先定義結構體,注意保證字節對齊: #pragma pack(push, 1) struct S

原创 版本號字符串的比較

版本號有兩段式“v1.2”,有三段式“v3.2.5”,還有更多的。如何比較他們的大小?需要考慮的幾點: 如果長度不一樣,長度長的不爲零爲大; 如果有一方的字符串爲空,那麼它爲小; 爲了代碼的魯棒性,考慮多種情況,長度不一,不限長度比較:

原创 Qt實現不規則按鈕

公司有需求讓我做一個能控制xyz軸的控制面板,同事不知如何做一個好看的不規則按鈕,這裏教大家一個簡便的方法。 先來看看這個button是不是你要的style: 1.用ps製作以上按鈕,並且上三種顏色,分別是常態,hover,和按下去的狀

原创 【Qt】以QMap作爲自定義類的靜態數據

類的公共數據有幾種存儲方式,其中一種爲把數據作爲一個類的靜態變量,這樣類的所有對象都可以訪問該數據,並且這個共享的數據只佔有在類的公共空間,不會因爲對象的多少而增加存儲空間。 例如: sutudent.h class Student

原创 Qt5.10 用基礎控件實現下拉列表菜單,可以展開多級菜單

需要的控件:QpushButton,QWidget,QsScrollAreaDemo用的是Qt5.10,需要的自行下載。  http://download.csdn.net/download/figo_lyf001/10267449原理: