QT相機外掛程式 1

2021-10-09 08:12:11 字數 2495 閱讀 8359

總結最近,由於工作需求,需要寫乙個相機的外掛程式,雖然沒辦法把具體的**貼出來,不過,還是在這裡做乙個比較詳細的總結,至少把一些步驟給講清楚。

首先,你建立外掛程式一定在他人的**上,寫乙個適配於當前系統功能的外掛程式,所以,應該會有些他人的外掛程式讓你模仿。你首先要做的就是,在他人外掛程式的基礎上,把框架搭建出來。比如該外掛程式中pro檔案的書寫,主要程式分為哪幾個部分。還有,一些巨集定義,看一下別人是怎麼寫的,我可以把這兩部分貼出來,你們稍微借鑑一些,也可。

pro 檔案:

#----

----

----

----

----

----

----

----

----

----

----

-----#

# project created by qtcreator 2020-08-28t11:12:57

##--

----

----

----

----

----

----

----

----

----

----

-------

template = subdirs

qt +

= core gui xml network

target = drivercameradahengg3uc

template = lib

config +

= plugin

include(.

./..

/../config/common_x64.pri)

include(.

./cameraabstract/camera_abstract.pri)

#以下這條message用於檢查工程路徑設定是否正確

target_info=$$join

(target,,,

" project_root==>"$$project_root)

message

($$target_info)

includepath +=.

/include

includepath +

= $$project_root/devices/on_drivercall/include

destdir = $$project_libdir/cameraplugin #其他目標檔案生成路徑

dependpath +

= $$project_bindir #依賴路徑 $$pwd/..

/..libs +

=-l$$project_libdir #libs存放的路徑 $$pwd/..

/..#for debug

config

(debug, debug|release)

moc_dir +=.

/debug/$$

objects_dir +=.

/debug/$$

}else

moc_dir +=.

/release/$$

objects_dir +=.

/release/$$

}

這裡面有比較需要注意的乙個點就是庫檔案的引用,因為你要寫外掛程式的話,一定是有乙個第三方的庫檔案給你的,所以,你就需要合理的把它引用進來,你才能用到該相機自帶的一些函式,從而實現你的功能。至於如何引用第三方庫的話,你可以看看這個:qt隱式呼叫第三方庫。作為一種參考,但有時也沒那麼複雜,可以自己網上搜一搜答案。

這裡,最後有乙個for debug。那個的作用是為了有時你是用debug模式,而有時你有需要用到release模式,為了區分那個exe檔案,我們所做的一些操作。

還有一點就是注意裡面的include path的這個操作。其實這個include path所包含進來的那些檔案都是外面人家留給我們的介面,我們在寫的時候, 就需要按照這些介面去實現對應的功能。

這一步,其實是要貫穿於你整個寫外掛程式的過程的,因為相機到底有什麼功能,你其實是不知道的,你也不知道他到底留給你的介面函式的名稱是什麼,也不知道怎麼去獲取對應的資料。而這些內容,sdk和demo中都會給你答案,也許有時候,整個demo會是vs的檔案的,你也不用擔心,開啟對應版本的vs的demo。然後,可以找一下main函式到底在**,從那裡開始看起,會是比較方便的。

靠人不如靠己第一次~

靠人不如靠己第二次~

靠人不如靠己第三次~

靠人不如靠己第四次~

靠人不如靠己第五次~

上面那樣就是基本整個相機外掛程式的書寫流程了,注意,你所要寫的相機有可能有第三方帶的軟體可以測試,你可以找一找,注意,要修改自己的ip位址跟相機時是同一網段,相信整個步驟,你應該是會的。還有一些沒講的小問題,我有時候也都記錄在部落格裡面了,有需要的可以點進來看一下。加油!衝!!具體實操可以參考下這兩篇文章:

大華相機的採圖功能的qt實現外掛程式,

大恆相機採圖功能的qt實現外掛程式。

Qt 外掛程式系統

qt 有兩種與外掛程式有關的 api。一種用來擴充套件 qt本身的功能,如 自定義資料庫驅動 影象格式 文字編譯碼等,稱為 higher level ap 既高階介面。另一種用於應用程式的功能擴充套件,稱為 lower level api 低階介面。前一種是建立在後一種的基礎之上的。前一種是擴充套件...

Qt 外掛程式路徑

qt manual 已經專門介紹了deploying plugins 的問題。半年前qt 外掛程式學習 一 也簡單整理了一點路徑相關的問題。可是,一直以來沒理清 外掛程式 編譯碼外掛程式 資料庫外掛程式.到底是如何被載入的?如果我們需要開啟或儲存乙個jpg格式的,那麼需要載入jpg的外掛程式。程式去...

Qt 外掛程式總結

1 介面的定義 step 1 定義介面 class regexpinte ce virtual qstring regexp const qstring message 0 step 2 宣告介面 使用 q declare inte ce 巨集,是為了讓qt元物件系統知道該介面,這樣以來,在執行時便...