![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt
Wzning0421
I'm always learning.
展开
-
Qt 中实现在控件中点击鼠标,就在鼠标点击处加载图片的方法
首先应该知道,QLabel类是没有点击事件的。我们需要点击鼠标,那么必须重写一个QLabel类去继承原来的QLabel。比如说我定义PutPicLabel来继承QLabel。在头文件中应该这么写:#ifndef PUTPICLABEL_H#define PUTPICLABEL_H#include #include #include #include #include #in原创 2017-10-07 22:00:55 · 2693 阅读 · 2 评论 -
QT 实现采集即时音频信号并发送至另一台电脑播放
QT有一个音频信号处理的库,非常强大,可以实现音频采集,设定采集的参数等。本文的程序是在一台电脑中实现采集即时音频信号(电脑连接耳机并且说话),将这个音频信号采集后发送至另一台电脑上,在这一台电脑中连接耳机就可以清晰地听清这个即时语音信号。全程实现的是类似音频通话的功能。 话不多说,上代码。 在.pro文件中首先加入下面两个库,否则会造成编译错误:...原创 2018-04-30 22:02:11 · 15297 阅读 · 29 评论 -
Qt QTimer在线程的应用与思考
Qt中提供了QTimer计时器,可以单次或者多次触发,当计时结束的时候利用connect()函数可以触发自己想要的函数,具体实现如下:创建定时器,并且和计时结束之后发射的槽函数信号连接起来: QTimer *timer = new QTimer; connect(timer,SIGNAL(timeout()),this,SLOT(func1()));//当计时器结束之后t原创 2017-12-18 11:37:49 · 6025 阅读 · 1 评论 -
Qt 多界面来回切换的问题以及Qt界面关闭与销毁
Qt 中我们经常会用到好几个界面,那么这几个界面之间来回切换就是一个经常出现的问题。之前我也总是被这个问题困扰,现在写一个样例程序当作一种解决方案,希望能给大家启发。 首先我定义了两个界面,一个主界面,一个是子界面,我希望它们两个能互相切换。主界面和子界面如图所示:子界面: 主要程序如下所示: 首先是主界面:在Mainwindow里面,当点击pu...原创 2017-12-17 16:15:36 · 57603 阅读 · 19 评论 -
Qt 多线程学习
前些天使用Qt的多线程写了一些东西,因为是关于视频流的处理和转发的,所以采用多线程可以有效提升CPU的效率,对于视频的处理放在主线程之外,新开一个线程对于提升响应速度,提升效率非常重要。 最开始作为入门我也想用比较普遍的方法:继承QThread并且重写 void run()函数。这个方法其实挺简单的,就是自己写一个MyThread类继承QThread,比如说:#ifndef M原创 2017-11-13 22:28:39 · 295 阅读 · 0 评论 -
Qt UDP组播的应用
最近学习了组播的应用。组播传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它能提高了效率。减少了骨干网络出现拥塞的可能性。 因为最近在看视频传输,对于一个客户端的视频,如果通过组播的方式传输给其他端,那么对于传输效率和处理速度是有非常大的帮助的,所以组播在一些特定领域起到了很大的帮助。原创 2017-11-17 21:58:25 · 3870 阅读 · 4 评论 -
Qt 有关ffmpeg的配置
做了一个有关ffmpeg的项目,需要首先配置ffmpeg,折腾了一个下午,把最终的方法说一下: 首先是下载库文件:ffmpeg库的地址是:https://ffmpeg.zeranoe.com/builds/ 这里要注意了这里面最好选windo 32bit的,64比特有问题,会导致库编译的时候undefined declaration出现。然后把static,shared和Dev都下原创 2017-11-12 23:02:36 · 1252 阅读 · 0 评论 -
Qt中一个.cpp类的函数调用另一个.cpp中类的函数的方法
Qt 下面经常会用到一个函数调用的时候会调用到另一个函数,如果这两个函数在两个.cpp文件中,那么应该怎么调用呢?假设在B类点击一个按钮会调用A类的一个函数,实际上只需要:一. 在B的构造函数中connect一下:这里用mainwindow代表B举一个例子:MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)原创 2017-10-17 14:14:54 · 27937 阅读 · 7 评论 -
从Qt的图片文件传输来看Qt 中UDP的收发消息writeDatagram和readDatagram
上一篇博客写的是利用Qt的UDP协议传输图片文件。但是有一些问题,比如说还得自己新建一个文件夹存放图片等等。项目想实现的功能是在一个Qt工程的label打开图片文件,另一端就能显示同样的图片,所以加以改进。不需要把接收到的图片写入文件夹中,而是直接把数据都读到picBuffer里面,最后统一显示在label上面。 过程特别曲折,现在也不敢保证完全明白,还望有明白的高人指点。原创 2017-10-24 14:16:46 · 22580 阅读 · 4 评论 -
Qt中实现鼠标作图并且控制每一笔粗细和颜色的方法
最终的效果如下:首先应该明白的是,鼠标作图,如果不是画直线而是任意的线,那么应该记录下每一个点的位置,然后这些点都记录下来,可以放在容器里面,之后进行画图,才能得到不规则的图形。打开图片很简单:void MainWindow::on_pushButton_clicked(){ QString fileName=QFileDialog::getOpenFileName(th原创 2017-09-22 15:30:21 · 2500 阅读 · 0 评论 -
Qt 中使用全局变量的方法
Qt中,经常会出现一个工程下面多个.cpp文件都需要调用或者改变某一个变量的问题,这个时候往往有两种解决办法:第一种是利用信号与槽的机制,第二种方法就是利用全局变量。下面着重说一下第二种: 比如说我在myLabel.h 定义了一个变量 int penSize 作为全局变量,需要用extern: 在头文件中声明:extern int penSize;//注意这里面是声明原创 2017-09-22 11:57:59 · 5544 阅读 · 3 评论 -
VLC和Qt结合编写流媒体rtsp播放器
VLC播放器是一款功能强大且小巧的播放器,它支持多种多样的音视频格式,比如MPEG1,2以及mp3等等。并且通过Qt和VLC的结合能让每个开发者写出自己的视频流媒体播放器。 Qt与VLC结合编写流媒体播放器主要有两种办法: 一. 通过VLC-Qt库 VLC-Qt库是基于libVlc的,后者是VLC 媒体的接口,开发者通过其可以开发出基于VLCMedia原创 2017-09-21 23:24:39 · 6700 阅读 · 5 评论 -
Qt 中使用UDP传送大图片(文件)的方法
我们知道传送文件一般使用的是TCP,要是需要使用UDP应该怎么做呢? 对于发端,首先应该在点击事件中得到我们需要发送的文件名,这里是fileName。得到名字之后,新建一个QFile类,来存自己的QFIle文件。每次读8000个字节。这个就是考虑到UDP每个包的大小,如果太大的话是不能放在一个包之中传的,需要放在很多包里面。每次传8000字节,直到读取完毕。void MainW原创 2017-10-17 22:34:26 · 11174 阅读 · 14 评论 -
QT 用QAudio语音库实现音频信号的采集 以及发送到另一台电脑 播放
一年多以前曾经写过一篇用QT audio语音库实现音频的采集和播放的博文:https://blog.csdn.net/hanzhen7541/article/details/80152381上面那个是初级版,实现的是从inputdevice音频采集,发送到目的地址端口;目的主机收到音频收到了信号,直接写入音频的设备进行播放。这几天又用到了QT的语音库,所以做了改进,因为网络环境不稳定,所以做...原创 2019-08-07 23:18:35 · 10026 阅读 · 41 评论