如何用Qt做SolidWorks二次開發

2021-09-29 01:32:58 字數 680 閱讀 6964

這個問題困擾了我2年了,之前找到的教程都是mfc的,atl匯入嚮導或是通過匯入型別庫的方式來呼叫控制項,我一直都搞不明白。

最近學習了activeqt以及通過activeqt控制excel、word、powerpoint、flash後,我終於大致明白了。

首先我要說明白一下,vc都是通過com來操作solidworks的,既然如此,我們只要通過qt的com操作方法來控制就可以了。

我用的是qt5.4、solidworks2014。

其實有兩種方式:1、使用classid 直接獲取com物件來操作solidworks。2、使用qt自帶的dumpcpp工具匯出**件,然後通過指標物件來控制。

第二種方法和vc的開發方式類似。但是匯出的檔案有12mb,37w行**,ide相當容易崩潰,而且編譯有錯誤,需要求改一下頭檔案,但是因為老是崩潰,我就沒有繼續嘗試了。

不過輸出的標頭檔案至少可以當個api手冊看,至於輸出方法:將solidworks目錄下的sldworks.tlb檔案複製到隨便乙個目錄下(我複製到自己的qt工程目錄),開啟qt的命令列功能,通過cd轉到這個目錄下,執行dumpcpp sldworks.tlb 即可。

下面說一下如何用第乙個方法:

首先在專案檔案中新增:qt+= axcontainer,之後執行qmake。

在cpp檔案中新增#include

之後在需要執行地方新增以下**:

如何用Redis做LRU Cache

lru least recently used 最近最少使用演算法是眾多置換演算法中的一種。redis中有乙個maxmemory概念,主要是為了將使用的記憶體限定在乙個固定的大小。redis用到的lru 演算法,是一種近似的lru演算法。上面已經說過maxmemory是為了限定redis最大記憶體使...

如何用Jmeter做壓力測試

jmeter是乙個效能測試工具,同loadrunner類似,他功能較多,我們常用的功能是用jmeter模擬多瀏覽器對 做壓力測試。我們一般的 在進入業務功能前先需登入,然後才能訪問業務功能。下面介紹如何用jmeter登入系統再對主業務做壓力測試。1.執行jmeter 2.左邊樹將出現 測試計畫 工作...

如何用C 做遊戲 2

lua pushnumber m pstate,11 lua pushnumber m pstate,12 int nin lua gettop m pstate 這裡加了一行,lua gettop 這個api是告訴你目前棧裡元素的個數。如果僅僅是push兩個引數,那麼nin的數值是2,對。沒錯。那...