先下载海康SDK
我下载的win64版本: 海康SDK官网下载

解压后得到库文件和头文件

头文件

库文件

新建QWidget项目,选择64位的kits工具,在pro目录新建include文件夹和libs文件夹
进入解压好的海康库文件所在目录,将全部文件复制到libs里
进入解压好的海康头文件所在目录,将全部文件复制到include里

在.pro文件里加入以下代码:
INCLUDEPATH += \
-L. $$PWD\include
# "-L. $$PWD" 表示pro所在目录
LIBS += \
-L. $$PWD/libs/HCCore.lib \
-L. $$PWD/libs/HCNetSDK.lib \
-L. $$PWD/libs/PlayCtrl.lib \
-L. $$PWD/libs/HCNetSDKCom\HCAlarm.lib \
-L. $$PWD/libs/HCNetSDKCom\HCGeneralCfgMgr.lib \
-L. $$PWD/libs/HCNetSDKCom\HCPreview.lib
遇到乱码问题需要将HCNetSDK.h文件保存为带bom的utf8格式
头文件:
#ifndef WIDGET_H
#define WIDGET_H
#pragma execution_character_set("utf-8")
#include <QWidget>
#include "HCNetSDK.h"
class QLabel;
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
long play(HWND hWnd,NET_DVR_PREVIEWINFO struPlayInfo);
bool initSDK();
bool uninitSDK();
public slots:
void OnClickedLogin();
void OnClickedLogout();
void OnClickedPreview();
void OnClickedStopPreview();
void OnClickedCapture();
private:
long userID = -1;
long previewID = -1;
QLabel* label = nullptr;
};
#endif // WIDGET_H
源文件:
#include "widget.h"
#include <QDebug>
#include <iostream>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <windows.h>
#include <QMessageBox>
#include <QPushButton>
#include <QLabel>
#include <QDateTime>
Widget::Widget(QWidget *parent) :
QWidget(parent)
{
setMinimumSize(800,600);
label = new QLabel("text");
auto LoginButton = new QPushButton("登录",this);
auto LogoutButton= new QPushButton("注销",this);
auto PreviewButton= new QPushButton("实时画面"

本文详细介绍了如何在Qt项目中集成海康SDK,包括下载、库文件与头文件的组织,以及关键函数如登录、预览和抓图的实现。遇到乱码问题时,还特别提到了编码设置。
最低0.47元/天 解锁文章
3266

被折叠的 条评论
为什么被折叠?



