![](https://img-blog.csdnimg.cn/20210731143808997.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Qt+C++
文章平均质量分 55
Qt+C++
Willow
菜鸡一枚 来互啄呀
展开
-
ATL的dll与Qt程序通信和传递消息
ATL的dll与Qt程序通信和传递消息开发时遇到的需要完成的需求是:Windows右键菜单拓展,增加菜单项,但具体增加的菜单项的名称需要从Qt应用程序中获取状态进而显示不同名称,因此需要ATL的dll与Qt应用程序之前进程消息传递和通信。Windows下发送消息的方法有几种:SendMessage:阻塞的,等窗口程序处理完消息再返回。PostMessage:不阻塞,将消息放到消息队列中立即返回。通过指定目标窗口句柄来确定目标线程,通常情况下由窗口过程来处理消息。SendMessageTimeout原创 2021-03-31 17:29:37 · 618 阅读 · 0 评论 -
Windows右键菜单扩展
Windows右键菜单扩展首先,需要建立ATL项目,按照如下项目创建工程。创建好后把带PS删掉。如何添加一个ATL简单对象,填类名,点添加。之后直接点完成。点开ATLTestMenu.h,CATLTestMenu类须继承IContextMenu接口和IShellExtInit接口,并实现其虚方法。需要加:两个头文件,继承的两个接口,COM_INTERFACE_ENTRY两个接口,4个需要实现的虚方法。ATLTestMenu.h代码如下:// ATLTestMenu.h: CATLTes原创 2021-03-30 23:47:26 · 932 阅读 · 0 评论 -
mciSendCommand 音频播放
mciSendCommand 音频播放MCI(Media Control Interface,媒体控制接口)向Windows程序提供了在高层次上控制媒体设备接口的能力。程序不必关心具体设备,就可以对激光唱机(CD)、视盘机、波形音频设备、视频播放设备和MIDI设备等媒体设备进行控制。 //打开音频文件 bool OpenSoundFile(const QString & strFilePath) { musicClose(); //打开 MCI_原创 2021-03-30 19:11:39 · 299 阅读 · 0 评论 -
代码中调用 net use 挂载网盘
net use 挂载网盘获取未被占用的盘符思路:获取所有使用的盘符,从26个字母中剔除这些使用的,剩下未使用的,可以进行挂载。 std::string TCHAR2STRING(TCHAR * STR) { int iLen = WideCharToMultiByte(CP_ACP, 0, STR, -1, NULL, 0, NULL, NULL); char* chRtn = new char[iLen * sizeof(char)]; WideCharToMultiB原创 2021-03-30 18:29:18 · 2479 阅读 · 0 评论 -
c++、Qt中常用数据格式转换
c++、Qt中常用数据格式转换1.QString和stringQString qstr;string str;str = qstr.toStdString();qstr = QString::fromStdString(str);2.int转QString,int转stringlong a= 63;QString qstr = QString::number(a,10);string str = to_string(a);3.QString和string中文转换乱码QString原创 2021-03-30 16:34:12 · 539 阅读 · 0 评论 -
Qt窗口内嵌Word,PPT,Excel
Qt窗口内嵌Word,PPT,Excel思路:不再使用QAxWidget来打开Word,PPT,Excel,直接用对应的应用程序打开,找到打开的窗口句柄,将要将之显示的窗口设置为其父窗口。 void WaitForOpenWord() { if (!m_strSaveFileName.isEmpty()) { //使用qt的接口用资源管理器打开这个word bool b = QDesktopServices::openU原创 2021-03-30 15:18:54 · 4500 阅读 · 6 评论 -
Qt操作ppt文字改变颜色
Qt操作ppt文字改变颜色可以使用QAxObject和QAxWidget类来操作AxtiveX组件,包括word,excel,ppt等。QAxWidget继承自QWidget和QAxBase,QAxObject继承自QObject和QAxBase。他们都从QAxBase继承了大部分与ActiveX相关的功能,特别是dynamicCall()和querySubObject()。主要用到的方法有:获取对象时,调用querySubObject()获取一个QAxObject指针。调用方法时,使用dynami原创 2021-02-25 14:36:55 · 894 阅读 · 0 评论 -
QPluginLoader的instance()返回空的一种解决办法
QPluginLoader的instance()返回空的一种解决办法使用QPluginLoader加载插件时,debug下编译运行没有问题,release下编译没有问题,运行时输出中报错:“The plugin ‘%1’ uses incompatible Qt library. (Cannot mix debug and release libraries.)”QPluginLoader.instance()返回的实例为空,获取错误信息即输出中的信息。一开始一直以为是插件dll调用的库中,relea原创 2021-02-07 14:22:39 · 2917 阅读 · 4 评论 -
Windows系统软件自启动方法
Windows系统软件自启动方法很多场景都需要软件在开机时自动启动,本文整理了一些不同系统下软件自启动的方式并进行了对比。(一) 利用“启动”文件夹点击左下角开始菜单,找到启动文件夹,如图:右键启动文件夹,点击打开,如图:将软件的快捷方式复制到该文件夹中,重启电脑即可。适用于:win7,win10(自启动的开关,不需要手动拖拽快捷方式)优点:不需要修改代码,操作简单方便,没有技术基础的人也可以做到让软件自启动。缺点:必须要进行手动把快捷方式移到文件夹中才能实现软件自启动,否则软件永远原创 2021-02-04 14:38:45 · 3054 阅读 · 0 评论 -
表格表头中的QCheckBox单击勾选时无效的问题解决
表格表头中的QCheckBox单击勾选时无效的问题解决问题:表格表头设置了checkbox,正常点击应该代表全选。该CheckBox应该变成勾选状态,其下方每一行的CheckBox也应一并勾选成功。现在问题是点击表头的CheckBox无效,CheckBox的状态并没有改变。解决思路:代码的逻辑是写了一个CHeaderView类继承自QHeaderView类,在该类中重写了mouseReleaseEvent(QMouseEvent*)函数,函数中有一处if语句中调用sectionsClickable()函原创 2021-02-04 14:15:08 · 1787 阅读 · 1 评论 -
使用QDesktopServices打开资源文件遇到的问题
使用QDesktopServices打开资源文件遇到的问题开发时,会有点击链接会自动打开文件夹或该资源的位置的需求。比如下载文件,下载好后弹框提示位置,点击后可直接打开。但在部分人电脑中,选择了下载位置,下载资源成功后点击弹窗中的连接,打开资源却失败了,本文主要介绍资源打开失败解决该问题的经验。使用Qt的开发者都知道,使用QDesktopServices打开文件目录或网络连接。代码如下:bool QDesktopServices::QDesktopServices::openUrl(const QU原创 2021-02-04 13:58:42 · 1848 阅读 · 0 评论 -
QLineEdit正确发射editingFinished信号问题
QLineEdit正确发射editingFinished信号问题开发时,遇到这样一条需求,编辑框内可输入温度值,温度值范围为30.0-45.0。控件使用QLineEdit,使用正则表达式限制输入。代码如下:QRegExp rx("^[3][0-9][\.][0-9]|[4][0-4][\.][0-9]|[4][5][\.][0]$");QRegExpValidator *pReg = new QRegExpValidator(rx, this);ui.m_pTempLineEdit->set原创 2021-02-04 13:53:24 · 3793 阅读 · 0 评论 -
QPlainTextEdit和QSyntaxHighlighter实现txt文件的显示及高亮关键字
QPlainTextEdit和QSyntaxHighlighter实现txt文件的显示及高亮关键字QSyntaxHighlighter实现匹配规则的字显示指定颜色。 //.h中 #include <QSyntaxHighlighter> #include <qtextedit.h> #include <qtextdocument.h> #include <QTextCharFormat> #include <qtextcursor.h>原创 2021-02-03 15:15:49 · 1654 阅读 · 0 评论 -
QAxWidget 打开word、pdf、excel、ppt
QAxWidget 打开word、pdf、excel、ppt使用QAxWidget打开word,pdf,excel,其中word高亮关键字。打开txt并高亮关键字见另一文章。 //打开指定文件,高亮关键字,只有word和txt实现高亮关键字 void openFile(QString strFileName, QStringList& strKeys) { closeFiles(); if (strFileName.endsWith(".docx") || strFileName原创 2021-02-03 15:00:05 · 4397 阅读 · 5 评论