Qt
heisenberg07
这个作者很懒,什么都没留下…
展开
-
【翻译】复制或不复制?参数在信号-槽中的传递
Qt的信号-槽在触发的时候,信号中的参数会被复制多少次?如果信号的参数是常引用且接收信号的槽是常引用呢?信号-槽连接的类型是队列或者直接方式有什么不一样呢,如果信号的参数是值传递又会有什么不一样?Qt的文档并有没有对这个问题进行描述,在stackoverflow有详细的讨论,但遗憾的是只让读者去选择正确的答案。所以,我们详细的系统的看一下参数在信号-槽是如何传递的。环境配置:在我们的实验中...翻译 2020-03-10 15:57:37 · 735 阅读 · 0 评论 -
QtQuick实现无边框窗口的拉伸,拖拽和自定义标题栏
由于Qt的原生窗口带有的标题栏无法定制,然而通常情况下我们需要自定义窗体上的关闭、最小化等按钮、背景,甚至需要不需要标题栏。在QtQuick实现去除标题栏,也即无边框很简单,只需要在Qml-Window中设置:flags: Qt.Window | Qt.FramelessWindowHint | Qt.WindowMinimizeButtonHint但是这个时候的窗体不能拖拽,也不能在窗体的...原创 2020-03-10 15:56:25 · 2430 阅读 · 1 评论 -
QtQuick音频播放
上一篇文章讲到了音频采集,既然有了采集,也就需要将音频数据进行播放,当然也可以读取音频文件或接收网络音频数据进行播放,这个时候就要用到QAudioInput的平行类QAudioOutput,QAudioOuput的使用和QAudioInput差不多,同样需要设置音频的参数,指定播放的设备(QAudioDeviceInfo),指定播放的数据缓冲(QIODevice)下面说一下一些使用的差别设置...原创 2020-03-10 15:55:27 · 467 阅读 · 0 评论 -
QtQuick音频采集
QT中有一个强大的音频处理的库,可以设置采集的参数,指定采集的设备等,这个强大的类就是QAudioInput,下面介绍如何通过这个类实现音频的设置,采集和保存QAudioInput属于multimedia模块,故我们在pro文件需要 QT += multimedia采集音频的参数设置通过QAudioFormat 来设置,告诉计算机应该以什么样的方式进行数据采集,如采样率、声道数量、编码方...原创 2020-03-10 15:54:29 · 309 阅读 · 0 评论 -
QtQuick中集成OSG渲染
从目前网上介绍OSG与Qml集成有两种方式:在[QtQuick2OSGItem](https://bitbucket.org/leon_manukyan/qtquick2osgitem/src/master/sampleapp/)通过继承抽象类__QQuickFramebufferObject::Renderer__来重写渲染接口,在__QQuickFramebufferObject__渲染成...原创 2020-03-10 15:48:55 · 2657 阅读 · 3 评论 -
QtQuick-TreeView如何拖拽或移动item到其他item
由于qml中的TreeView属于QtQuick1.x,目前也不再进行feature上的扩展,相关的资料也不多,导致想在上面实现一些常见的操作也变得困难,比如本次想在TreeView实现从移动item到其他item上。我们之前的文章在qml-TreeView自定义模型里的数据讲解了如何在TreeView传递自定义数据类型,本次文章仍然在这个基础上实现。import QtQuick 2.7im...原创 2020-03-10 15:41:03 · 1063 阅读 · 1 评论 -
Qt工程生成MiniDump文件
关于Dump的文件介绍在这里,今天要介绍的是如何在Qt工程生成Dump文件。首先我们在Qt的pro文件(工程配置文件)要取消优化,并加入调试信息,如下:#加入调试信息QMAKE_CFLAGS_RELEASE += -gQMAKE_CXXFLAGS_RELEASE += -g#禁止优化QMAKE_CFLAGS_RELEASE -= -O2QMAKE_CXXFLAGS_RELEA...原创 2020-03-10 15:25:11 · 1295 阅读 · 0 评论 -
QtQuick 麦克风采集生成波形图(二)
在这篇文章麦克风采集生成波形图描述了如何使用Qml中的Chart组件来绘制波形图,但是有时候我们需要绘制一些额外的信息,比如横轴和纵轴也要能够自定义,这个时候在qml-chart中就比较难定制了,我们可以通过继承Qt中的QQuickPaintedItem实现重绘事件,再将继承类注册到qml中,这样我们就能够在C++实现将录音的数据绘制出来首先我们需要继承QQuickPaintedItem这个类...原创 2020-03-10 15:22:03 · 1641 阅读 · 0 评论 -
QtQuick:C++传递自定义类型作为参数到Qml
在Qt毫无疑问的是可以将自定义类型(struct/class)作为数据类型在C++类之间传递,但是从C++传递自定义类型并且暴露属性给Qml就不行了,因为C++与Qml之间的信号传递只支持基本类型,具体可以参考Data Type Conversion Between QML and C++具体参考如下代码(带注释的是注意事项,不支持从QObject派生,并不支持NOTIFY属性)cla...原创 2020-03-09 17:28:22 · 1620 阅读 · 1 评论 -
基于Qt的异步拷贝文件
由于Qt的中QFile::copy是个原子操作,所以并不支持拷贝文件进度。所以用QThread实现了在线程中拷贝文件,并能实时更新文件进度,主要代码封装在FileCopyer类里FileCopyer.h#pragma once#include <QtCore/qstring.h>#include <QtCore/qobject.h>#include <Qt...原创 2020-03-09 17:23:00 · 1025 阅读 · 1 评论 -
QtQuick-TreeView使用自定义模型里的数据
######我们在使用Qml的TreeView时,默认节点的数据是不能修改,即如果我们使用代理来自定义节点时,使用的styleData.value 默认是string,很多时候我们需要向代理传递更多的数据,这时候我们就需要一个自定义数据结构,然后在QStandardItem将数据结构“嵌”进去。首先我们先定义个数据结构,使用type和size两个属性class CustomType : p...原创 2020-03-09 16:58:35 · 628 阅读 · 0 评论 -
QtQuick 麦克风采集生成波形图(一)
本文主要介绍如何从麦克风进行音频采集,并使用qml-charts模块进行显示波形图显示首先关于使用电脑的麦克风设备进行音频采集到内存,可以参考QtQuick音频采集继承抽象类QIODevice,并重写readData()和writeData()两个方法,readData是从外部读取数据,暂且不用管它,我们最主要的是重写writeData()方法,将数据写入到qml中的ChartV...原创 2020-03-09 16:53:38 · 1743 阅读 · 0 评论