qt程序问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt程序问题相关的知识,希望对你有一定的参考价值。

qt程序问题求助,无法运行rc.exe怎么解决啊

    将C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.15063.0\\x64 目录下的rc.exe 和rcdll.dll 复制到C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\amd64

    如果qt版本是32bit的:

    将C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.15063.0\\x86 目录下的rc.exe 和rcdll.dll 复制到C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin

    如果仍有此问题,卸载QT,重启电脑,安全卫士软件管家下载安装运行库合集后,重新安装QT软件解决此问题

参考技术A 什么意思,rc.exe是啥

如何连接两个程序(c++,qt)

【中文标题】如何连接两个程序(c++,qt)【英文标题】:how to connect two programs (c++,qt) 【发布时间】:2011-05-02 10:02:01 【问题描述】:

我有 2 个程序。控制台和 QT。控制台程序应该制作一些数据,而 qt 程序应该显示这些数据。但这应该是单独的程序,我不知道如何告诉 QT 程序从我的控制台做某事。两个程序是本地的,Qt 程序一直在运行(所以我不能每次都运行它),并且控制台只在需要时才使用。所以问题是 - 控制台程序完成后如何在 Qt 中执行某些操作? 附:控制台程序生成一个 Qt 程序可以读取并显示的文件。 我正在使用 Windows。

【问题讨论】:

考虑使用dbusad 进程间通信? 【参考方案1】:

Int Qt,你可以用QProcess启动控制台进程。该类具有finished 信号,您可以将其连接到应用程序对象中的插槽。然后,当控制台进程完成时,finished 信号将触发,并调用您的 slot 函数。此时您可以读取输出文件。

这比QFileSystemWatcher 更有效,因为您正在直接观看相关事件(控制台程序结束)。

【讨论】:

我实际上也更喜欢这个而不是我自己的解决方案,但问题自然是必须从 Qt 程序内部启动控制台程序,这使得非交互式(例如计划)运行更加复杂.当然也可以做成同时支持这两种方式。【参考方案2】:

您可以考虑使用QFileSystemWatcher 之类的东西来轮询特定目录中的更改,然后让您的控制台程序将文件写入那里。这样,当目录内容发生变化时,Qt 程序就会收到通知。

【讨论】:

【参考方案3】:

进程间通信 (IPC) 是您正在寻找的解决方案。

MSDN 文档位于here,其中包含有关在您的应用程序中实现此功能的更多详细信息以及代码示例。

【讨论】:

【参考方案4】:

这种技术称为“屏幕抓取”。您通过将控制台应用程序的标准输出连接到 Qt 应用程序输入来执行此操作。 看http://doc.qt.nokia.com/latest/qprocess.html

【讨论】:

【参考方案5】:

看看QSharedMemory:http://doc.qt.nokia.com/4.7-snapshot/qsharedmemory.html。它允许线程间和进程间通信。

这里有一个关于如何使用 QSharedMemory 的非常好的简短示例:http://doc.trolltech.com/main-snapshot/ipc-sharedmemory.html

【讨论】:

以上是关于qt程序问题的主要内容,如果未能解决你的问题,请参考以下文章

Qt 应用程序是不是需要 KDE?

NSIS打包Qt程序和Qt 安装程序的依赖,及若干问题

Qt 跨应用程序样式问题

Qt 开发程序后的公布问题

qt的程序异常退出 求救

我使用QT5.0.1写的程序在自己有安装QT的电脑上能正常运行,但在没安装QT的电脑上会出错,我把BIN