- 博客(18)
- 收藏
- 关注
原创 音视频开发(一)RTSP模拟环境搭建
要进行音视频相关的开发,除了需要掌握音视频相关的协议、格式、工具、语言、库以外,模拟环境也是非常重要的条件。有了模拟环境,我们才能随时测试、更改自己写的音视频代码。比如,我们要进行RTSP播放器开发,就需要模拟RTSP媒体源;要进行RTSP客户端开发,就需要模拟的RTSP服务器;要进行RTSP服务器开发,就需要模拟的推流、拉流。
2024-08-30 14:38:11
589
原创 使用Qt的AxContainer模块操作Office文档(三)
对于Excel来说,打开的应用是"Excel.Application",Application中每个Excel文档叫做Workbook,而操作Workbook的列表理所当然,叫做Workbooks。
2024-08-23 20:00:00
334
原创 使用Qt的AxContainer模块操作Office文档(二)
所以,我们如果只是在Qt程序中,调用Word(或者Excel、PowerPoint,但是使用的参数不同),则可以很简单地使用QAxObjectInterface的setControl方法,设置文档名。
2024-08-16 18:45:00
813
原创 使用Qt的AxContainer模块操作Office文档(一)
在Windows环境下,在Qt里面操作Office文档,可以通过AxContainer模块调用Office全家桶的Com组件。完成这个操作,需要使用到AxContainer模块中的QAxObject。使用这种方法操作Office文件,好处是可以非常精确,精确到Word文档的每一个字符、PowerPoint的每一个图片以及Excel文档的每一行一列……那种程度。
2024-08-09 21:15:00
1357
原创 使用libreofficekit操作Office文档
在C++中操作Office文档,有几种方法。在Windows环境下面,可以使用COM调用,在Qt开发之中,通过QtActive的QAxObject来操作Microsoft Office的COM。而在Linux等环境中,则可以使用libreofficekit
2024-08-03 19:30:00
735
1
原创 Linux下如何获取硬盘序列号、MAC地址等硬件信息
在很多系统软件的开发中,需要使用一些系统硬件信息。比如CPU、硬盘、网卡等。所以,得到主机的CPUID、硬盘序列号及网卡的MAC地址,就成为一件很重要的功能。
2024-07-26 19:30:00
943
原创 如何使用ssh协议开发文件应用
使用ssh客户端,登录到ssh服务器,或者使用scp命令,从ssh服务器上传或者下载文件,非常方便。但是,如何使用ssh协议,开发文件的处理,集成到我们的应用中呢?
2024-07-19 18:15:00
696
原创 如何使C、C++程序支持Python脚本
C/C++比较底层,可以开发高性能、高可靠的程序,但是不如Python简单易学。所以,如果我们使用C/C++开发的程序,却可以给用户一个Python语言的脚本接口,就比较舒服了。其实实现这个功能,一点儿不难。Python的C语言API,可以完美地支持这个功能。
2024-07-12 20:45:00
664
原创 Qt开发的程序的自动部署
不管是在Linux环境下,还是Windows环境下,使用Qt开发的程序,都需要依赖Qt的动态连接库才能运行。所以,为了使用我们程序的用户的便利,我们给用Qt开发的程序做安装包的时候,把这些依赖的动态链接库都一起打包,会给我们的用户极大的方便。但是,一个程序的运行需要什么动态库,一个一个地手动找出来,实在是太累了。做为程序员,我们都会通过自动化的工具,来实现这个操作。
2024-07-05 21:15:00
930
原创 QWebEngineView的自定义协议
就像webkit2gtk一样,使用QWebEngine开发,当然也是有自定义协议的需求的。但是,QWebEngine自定义协议的实现,明显比webkit2gtk要麻烦一些,其中涉及到几个类QWebEngineUrlScheme、QWebEngineUrlSchemeHandler、QWebEngineProfile以及QWebEngineUrlRequestJob。子类化一个QWebEngineUrlSchemeHandler。
2024-06-28 21:30:00
577
原创 webkit2gtk的自定义协议与内容交互
但是,一般我们开发过程中,经常需要自定义Web的请求协议,而不是常规地HTTP,以实现我们自定义的任务
2024-06-21 20:30:00
784
原创 Qt开发:信号、槽与面向对象
QObject也有一个inherits(const char *)方法,可以以字符串的形式直接查询一个对象是否是某个类或者它的父类。
2024-06-14 20:15:00
267
原创 gst-rtsp-server实现的rtsp服务器自定义sdp
在使用gst-rtsp-server开发rtsp 服务器时,有时候在服务端收到DESCRIBE命令之后,返回给客户端的sdp,需要进行定制。但是,gst-rtsp-server并没有在发送sdp给客户端之前,给上层应用更改sdp信息的接口。怎么办呢?我们先看看gst-rtsp-server的源码中,从收到客户端的命令请求,到最终发送出去sdp信息,到底是怎么做的。下面以gst-rtsp-server-1.10.5版本为例,其它更高版本实现差异并不大。
2024-06-07 19:30:00
488
原创 Win10系统下GTK+3.0开发环境的部署
安装VS2019 ComunityVS2019官网地址为:https://visualstudio.microsoft.com/zh-hans/vs/安装msys2官网地址为:https://www.msys2.org/安装完msys2以后,设置msys2的国内镜像。更改msys2安装目录下的etc/pacman.d/mirrorlist.mingw64,在开头添加Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
2021-10-30 23:21:27
1361
原创 最简C语言操作MySQL数据库
mariadb的C语言开发库在Fedora里,包名为mariadb-connector-c-devel。可以通过 sudo dnf install mariadb-connector-c-devel来安装。头文件包含#include<mysql/mysql.h>主要函数初始化 MYSQL * STDCALL mysql_init(M
2021-10-30 23:12:07
573
原创 抛弃RPM/DEB,迎接AppImage
以前,Linux. 因为发行版众多,给不同的发型版适配打包,非常麻烦。同样一套代码,在不同的发行版上编译出来以后,调用的动态连接库不一样,于是得分别编译。而不同的发行版上面,使用的打包工具,也是千差万别,需要分别打包,手动编写各种spec、debs等等。现在有了AppImage.,这种状况一下子就改观了许多。AppImage文件的使用AppImage文件,是一个包含了所有依赖的二进制包。我们下载了一个AppImage以后,只需要两步,就可以让程序运行起来。假如我们下载了一个apvlv.AppIma
2021-10-28 19:59:00
1397
原创 定制Python的setup.py的路径
有时候,我们执行setup.py的build、sdist命令的时候,如果不想让它生成在默认的源码目录里面,可以采用build和sdist的参数。其中,build的参数build-base指定编译目录sdist的参数sdist-dir指定生成源码包目录如果想让它自动生效,还可以增加一个setup.cfg文件,在其中写入如下内容:>[build]>build-base = /tmp/build>[sdist]>sdist-dir = /tmp/dist同时,set
2021-10-24 22:34:36
1431
原创 Linux下提高UDP性能及可靠性的两个方法
增大socket缓存方法是通过sysctl的相关选项:net.core.rmem_default = 26214400net.core.rmem_max = 26214400net.core.wmem_default = 26214400net.core.wmem_max = 26214400可以保存入一个文本文件,如/tmp/sample.conf,之后通过sysctl -p /tmp/sample.conf来加载。也可以通过sysctl -w net.c
2021-10-12 09:48:34
2757
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人