原创 QLabel 圖片縮放居中、圖片適應控件、控件適應圖片

縮放居中 QPixmap pix = QPixmap::fromImage(m_QImg); ui.label->setAlignment(Qt::AlignCenter); ui.label->setPixmap(pix.scaled(

原创 Qt保留小數

以保留小數點後2位爲例,四捨五入 方式一 QString txt = QString("%1,%2,%3").arg(m_fAngle,0,'f',2).arg(m_fDeltaX,0,'f',2).arg(m_fDeltaY,0,'f'

原创 Qt錯誤排查

1、error LNK2001: 無法解析的外部符號 "public: virtual struct QMetaObject 在添加Q_OBJECT後出現的錯誤提示。 解決:這個宏放在頭文件中,而不是cpp中。 原因:QT error LN

原创 Qt並行計算

比如QVector中所有元素+1,可以用並行計算。 QtConcurrent::map():將一個函數應用於一個容器中的每一項,就地修改 items。 void add(int &num) { num +=1; } {

原创 QtConcurrent::run()多線程的同步、異步

Qt 提供了 QtConcurrent 模塊,處理一些常見的並行計算,最大的特點就是無需再使用互斥鎖這種很低級的操作,全都封裝好了。除此以外,QFuture、QFutureWatcher、QFutureSynchronizer 類提供了一些

原创 Qt同步、異步

【同步、異步】 同步意味着事件、操作或進程是有序的,一個操作必須在另一個操作完成後開始執行。當多線程時通過鎖、信號量等機制來確保數據一致性或避免競爭條件。 異步則意味着事件、操作或進程是獨立的,可以在不等待其他操作完成的情況下開始執行。一定

原创 QToolBar右側添加QAction

使用QToolBar的addWidget,添加一個可伸縮的空QWidget //Action放右側:使用QToolBar的addWidget,添加一個可伸縮的空QWidget。 QWidget* spacer=new QWidget; s

原创 Qt導出與加載dll

先開篇,後期更新整理   1、Qt 插件開發 - 夕西行 - 博客園 (cnblogs.com) 2、Qt 插件開發方式 - 夕西行 - 博客園 (cnblogs.com) 2、Qt 插件開發 - 夕西行 - 博客園 (cnblogs.co

原创 c++導出與加載dll

思路:導出dll中類的智能指針的指針(extern "C"不允許導出C++獨有的類型,如智能指針。但是可以導出智能指針的指針),然後使用該類的對象指針。 一、下面對dll程序使用抽象接口方式,以MyDll類爲例,進行如下操作: 1、新建抽象

原创 遠程軟件推薦

必須支持局域網,也就是本地IP連接,沒有網時一根網線連接兩臺電腦就可以控制。支持windows、linux 1、RustDesk 目前免費 下載地址:RustDesk – 開源遠程桌面訪問軟件  2、RealVNC VNC Server

原创 c++本質:釋放內存、new與delete、野指針

【釋放內存】 本質:標識符放棄對該內存的佔有權。即“釋放內存”就是釋放佔有權。 若該內存是棧內存,當所有標識符都放棄,那麼系統自動重獲佔有權。內存依然存在,地址、值都未改變。 若該內存是堆內存,當所有標識符都放棄,不delete,那麼系統也

原创 【轉載】Qt中的智能指針

不用到處找了,附高質量博客鏈接 Qt 智能指針介紹: QSharedPointer、QWeakPointer 、QScopedPointer 、QPointer(附實例)-CSDN博客 Qt智能指針信號槽連接問題_qt connect 智能

原创 回調函數用於通知機制

相機SDK中一般有這樣的回調:當幀採集完畢,自動調用回調函數。 回調函數用於通知機制:當某一事件發生時,如果使用者註冊過了回調函數,則會自動執行回調函數中的內容。 網上很多回調函數的內容都是簡單的使用下,沒有太多關於通知機制的內容,於是找了

原创 c++線程專題

逐步更新中~~~,參考書籍《C++併發編程實戰(第2版)》,不照搬書,只寫理解感悟。 引入頭文件 #include <thread> 線程啓動 std::thread t(my_func); 若需等待線程執行完畢,才繼續之後的代碼,

原创 QGraphicsLineItem的位置

 上圖中紅線起始位置0,0,寬度1。 若想與圖像起始像素重合,應該設置起始位置爲0.5,0.5。 若寬度爲2,則起始位置爲1,1。此時紅線與圖像的第1、2行像素重合。