开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (2)
master
review
master
分支 (2)
master
review
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (2)
master
review
ZBar
/
qt
/
QZBarThread.h
ZBar
/
qt
/
QZBarThread.h
QZBarThread.h 4.04 KB
一键复制 编辑 原始数据 按行查看 历史
freddy.li 提交于 2021年08月17日 16:49 +08:00 . first commit
//------------------------------------------------------------------------
// Copyright 2008-2009 (c) Jeff Brown <spadix@users.sourceforge.net>
//
// This file is part of the ZBar Bar Code Reader.
//
// The ZBar Bar Code Reader is free software; you can redistribute it
// and/or modify it under the terms of the GNU Lesser Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.
//
// The ZBar Bar Code Reader is distributed in the hope that it will be
// useful, but WITHOUT ANY WARRANTY; without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser Public License for more details.
//
// You should have received a copy of the GNU Lesser Public License
// along with the ZBar Bar Code Reader; if not, write to the Free
// Software Foundation, Inc., 51 Franklin St, Fifth Floor,
// Boston, MA 02110-1301 USA
//
// http://sourceforge.net/projects/zbar
//------------------------------------------------------------------------
#ifndef _QZBARTHREAD_H_
#define _QZBARTHREAD_H_
#include <QThread>
#include <QMutex>
#include <QWaitCondition>
#include <QEvent>
#include <zbar/QZBarImage.h>
#include <zbar/QZBar.h>
#include <zbar.h>
#define DEFAULT_WIDTH 640
#define DEFAULT_HEIGHT 480
namespace zbar {
class QZBarThread
: public QThread,
public Image::Handler
{
Q_OBJECT
public:
enum EventType {
VideoDevice = QEvent::User,
VideoEnabled,
ScanImage,
Exit = QEvent::MaxUser
};
class VideoDeviceEvent : public QEvent {
public:
VideoDeviceEvent (const QString &device)
: QEvent((QEvent::Type)VideoDevice),
device(device)
{ }
const QString device;
};
class VideoEnabledEvent : public QEvent {
public:
VideoEnabledEvent (bool enabled)
: QEvent((QEvent::Type)VideoEnabled),
enabled(enabled)
{ }
bool enabled;
};
class ScanImageEvent : public QEvent {
public:
ScanImageEvent (const QImage &image)
: QEvent((QEvent::Type)ScanImage),
image(image)
{ }
const QImage image;
};
QMutex mutex;
QWaitCondition newEvent;
// message queue for events passed from main gui thread to processor.
// (NB could(/should?) be QAbstractEventDispatcher except it doesn't
// work as documented!? ):
// protected by mutex
QList<QEvent*> queue;
// shared state:
// written by processor thread just after opening video or
// scanning an image, read by main gui thread during size_request.
// protected by mutex
bool _videoOpened;
unsigned reqWidth, reqHeight;
// window is also shared: owned by main gui thread.
// processor thread only calls draw(), clear() and negotiate_format().
// protected by its own internal lock
Window window;
QZBarThread();
void pushEvent (QEvent *e)
{
QMutexLocker locker(&mutex);
queue.append(e);
newEvent.wakeOne();
}
Q_SIGNALS:
void videoOpened(bool opened);
void update();
void decoded(int type, const QString &data);
void decodedText(const QString &data);
protected:
void run();
void openVideo(const QString &device);
void enableVideo(bool enable);
void processImage(Image &image);
void clear ()
{
window.clear();
if(image) {
delete image;
image = NULL;
}
}
virtual void image_callback(Image &image);
virtual bool event(QEvent *e);
virtual void videoDeviceEvent(VideoDeviceEvent *event);
virtual void videoEnabledEvent(VideoEnabledEvent *event);
virtual void scanImageEvent(ScanImageEvent *event);
private:
Video *video;
ImageScanner scanner;
QZBarImage *image;
bool running;
bool videoRunning;
bool videoEnabled;
};
};
#endif
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

Helios ZBar组件
暂无标签
LGPL-2.1
使用 LGPL-2.1 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/quecpython/ZBar.git
git@gitee.com:quecpython/ZBar.git
quecpython
ZBar
ZBar
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /