随笔分类 - Qt
摘要:// .pro // 修改 TARGET 就可以改变生成的exe的名称 TARGET = Test // 要是生成的exe名称中需要带有空格,需要用到$$quote TARGET = $$quote(HP CamScan)
阅读全文
摘要:使用Qt + mupdf 实现PDF阅读器,支持翻页(上一页、下一页) 思路: PDF阅读器:使用mupdf,将PDF文件拆分成单个page页,将page页转为QImage图像,使用QListWidget来装载所有的QImage,这样Qt就可以显示出所有图像(完整的PDF)。 翻页:根据滚动条,确认
阅读全文
摘要:#include <QDesktopWidget> void Dialog::setDisplayPos() { QDesktopWidget *desktop = QApplication::desktop(); // 获取显示器个数 int num = desktop->screenCount(
阅读全文
摘要:// 改透明色 QImage setImageColor(QImage img) { QImage img_color = img.convertToFormat(QImage::Format_RGBA8888_Premultiplied, Qt::NoFormatConversion); int
阅读全文
摘要:*:Qt现在基本都是在线安装了,但是下载的速度特别慢,所以此次记录下如何提速,快速安装 一、在线安装器下载 我用的这个(非官网):https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/ 官网: http
阅读全文
摘要:#include "test.h" #include "QPushButton" #include <QSystemTrayIcon> Test::Test(QWidget *parent) : QWidget(parent) { ui.setupUi(this); QPushButton* btn
阅读全文
摘要:编译: zbar Windows编译:https://gitee.com/vvvj/zbar-windows 下载下来后,直接使用vs来编译就可以了。 zbar官网:https://zbar.sourceforge.net/download.html zbar Mac和Linux编译: Mac版zb
阅读全文
摘要:本文章主要记录Qt在linux电脑上调用so库的三种调用方式 方式一:静态加载so库 方式二:动态加载so库(QLibrary) 方式三:动态加载so库(dlopen) 其他: 封装的so库叫做:libsoowCapture.so,这个so库又依赖了其他的so库,我是把所有的so库放在lib文件夹里
阅读全文
摘要:需求: 点击QPushButton按钮,QLabel中的数字,不断累加,一直到999。 做法: 创建任务类,点击QPushButton后,将任务类放入线程池中运行,通过任务类while循环,不断发送累加的数字回主线程,修改QLabel中的数字 其他: 线程池的好处是可以最大程度的利用线程,减少资源的
阅读全文
摘要:需求: 点击QPushButton按钮,QLabel中的数字,不断累加,一直到999。 做法: 创建任务类,用来完成任务,创建子线程,将任务类放到子线程中,点击QPushButton后,先发送信号启动任务类的任务,然后启动线程,通过任务类while循环,不断发送累加的数字会主线程,修改QLabel中
阅读全文
摘要:需求: 点击QPushButton按钮,QLabel中的数字,不断累加,一直到999。 做法: 点击QPushButton后,启动线程,线程while循环,不断发送累加的数字回主线程,修改QLabel中的数字 其他: 这种线程的写法是最简单的,全部是Qt封装好的,只需要重写 run 函数就可以了。
阅读全文
摘要:// 直接设置中文,会出现乱码 ui.pushButton->setText("中文"); // 方法一 ui.pushButton->setText(QString::fromUtf16(u"中文")); // 方法二 ui.pushButton->setText(QString::fromLoc
阅读全文
摘要:Qt 信号槽 Qt的信号槽,除了使用信号连接槽,还可以信号连接信号,断开信号,发送(转发)信号。 一个信号可以连接一个槽,也可以一个信号连接多个槽,还可以多个信号连接一个槽。 // 信号连接槽 connect(发送者,信号,接受者,槽); // 信号连接信号 connect(发送者,信号,接受者,信
阅读全文
摘要:序言: 程序使用Qt开发,程序主要功能是调用摄像头。需要打包成pkg给到用户安装,打包用到的是xcode。 实际操作: 一、Qt工程转xcode工程 // 打开终端,cd到项目根目录(CamScan.pro目录),使用qmake生成xcode工程文件(CamScan.xcodeproj) cd /U
阅读全文
摘要:需求:在Mac系统上,调用摄像头,实现旋转、缩放、处理视频帧等功能 问题:使用获取视频帧的方法,在Mac上调不起来摄像头 解决方法: 将视频窗口(QVideoWidget)和视频帧(QVideoFrame)两种方法都用上 QVideoWidget的作用是,让Qt可以启动摄像头 QVideoFrame
阅读全文
摘要:背景: 在linux系统上,我们使用 Qt 开发动态库项目时,会默认生成四个文件:x.so 、x.so.1 、x.so.1.0、x.so.1.0.0 四个文件,只有一个真实的so库,剩下的三个都是链接文件。 我们交付的时候,不可能发一堆文件出去,所以我们需要对 Qt 项目进行设置,保证输入的只有一个
阅读全文
摘要:本示例,为纯Qt调用摄像头,功能会比版本一要多一点:打开摄像头,设置参数,完整拍照,框选拍照,切换分辨率,旋转,水平镜像,垂直镜像,放大,缩小 上一个版本,使用的显示窗口直接显示出摄像头画面,所以可操作性有限, 没关系,这个版本使用的另一种方法:打开设备,获取视频帧,自己把视频帧画上去,这样就操作的
阅读全文
摘要:需求:纯Qt,把多张图片合成到一个PDF文件中 // 合成PDF // include <QPdfWriter> QString pdfFileName = "D:\\a.pdf"; QStringList imageFileNameList = {"C:\\Users\\admin\\Docume
阅读全文
摘要:本示例,为纯Qt调用摄像头,功能比较简单,打开摄像头,设置参数,拍照 涉及到的功能有: 获取摄像头列表 获取摄像头分辨率 获取摄像头帧率 获取摄像头支持的视频模式 设置摄像头参数 拍照 此版本的缺点是:无法做复杂操作,比如:打开摄像头画面,将视频直接显示在 QWidget 上,这种做法无法实现旋转功
阅读全文
摘要:有个软件,里面做了13种语言,销售要求实现重新设置软件语言后,不需要重启软件,就可以看到软件显示出对应的语言。 软件中所有需要翻译的地方都是用的 tr(QString) 来做的,并且软件是多个窗口(QDialog),需要在设置窗口中设置语言,然后其他窗口的语言也发生变化。 最开始的做法是: 1.重新
阅读全文