草庐IT

Qt之UDP通信

全部标签

windows - 在 Windows 中的 QT Creator 中运行项目

我想在Windows上的QTCreator中使用FFMPEG开发一个视频播放器,但对于QTCreator环境来说是全新的。我已经从这个link下载了一个示例项目.当我在其中打开QTCreator并运行它时,它返回了这个错误,:-1:error:avutilisrequired,butcompilercannotfindit。我已经下载了这个(ffmpeg-20130322-git-e0e8c20-win64-static)FFMPEG文件并将其解压到C分区的文件夹中。我想我得到了那个错误,因为QT找不到FFMPEG在哪里,但仍然不知道如何链接它。你能帮我解决这个问题吗?

c++ - Qt5 应用程序在另一台机器上静默退出

当我尝试在另一台未安装QtSDK的机器上运行我的应用程序时,它会静默退出。现在,如果它缺少一个DLL,Windows会显示一个这样的消息框,我会把DLL:但我已经安装了此类消息框指示的所有DLL。此外,这些消息框也会出现在我的机器上,直到我将DLL放在与应用程序相同的目录中。现在程序只是退出,没有消息框,只有在其他没有安装QtSDK的机器上才会退出。只有在使用Qt5编译时才会发生这种情况,使用Qt4编译的同一程序在Qt5程序失败的另一台机器上运行良好。 最佳答案 经过更多的挖掘,我发现了问题所在——Qt5也需要平台插件,有趣的是应用

c++ - 虚拟机ubuntu中两个c++可执行文件一个窗口和另一个窗口之间的实时数据通信

我正在运行ros以使用ubuntu控制机器人。但驱动程序仅适用于Windows。我已经设置了一个虚拟机,其中机器人Controller构建在roscpp上我想将这些使用ros生成的值传递给Windows中的cpp。它应该是实时的。数据应该来回流动。data:float32数组维度为7请帮我举个例子。 最佳答案 在两台机器之间传递实时数据的最佳方式之一是UDP套接字。您可以在MSDNUDPExample找到一些很好的Windows示例一个用于linux,地址为LinuxUDPExample

c++ - Qt 手势。没有收到 qgesture 事件

我正在尝试在我的小部件(QWidget的子类)中获取QGesture事件。我的构造函数中有以下内容:setAttribute(Qt::WA_AcceptTouchEvents);setAttribute(Qt::WA_TouchPadAcceptSingleTouchEvents);grabGesture(Qt::SwipeGesture);grabGesture(Qt::PanGesture);grabGesture(Qt::PinchGesture);我有自己的事件函数:boolMyWidget::event(QEvent*event){if(event->type()==QEve

windows - 错误 : cannot find D:/gstreamer-sdk/0. 10/x86/lib:权限被拒绝:Qt5

我正在Qt5.2.1中开发我的应用程序。在.pro文件中:LIBS+="D:/gstreamer-sdk/0.10/x86/lib"构建项目时出现错误:错误:找不到D://gstreamer-sdk//0.10//x86//lib:权限被拒绝错误:ld返回1退出状态我已经尝试以管理员身份运行到QtCreator并且还递归地授予了gstreamer-sdk目录的完全权限。但仍然面临同样的问题。我也谷歌了,但找不到任何解决方案。指引我正确的方向。提前致谢。 最佳答案 LIBS是一个库列表,而您添加的是一个目录。您需要指定库的名称,例如:

c++ - 使用 Intel Vtune 从 Qt Creator 分析应用程序

我想在Windows7上使用Vtune从QtCreator分析应用程序。但是Vtune基本上是为VisualStudioApps制作的,所以我必须在我的函数名称和发布版本中的指令之间建立联系。其实我在热点里只有假名func@address,不能用。通过探索IntelVtune的“入门”,我发现我必须在我的发布版本中启用调试信息,但如何在QtCreator中执行它?来自“使用调试信息”文件:Toprovideaccurateperformancedataandenablesourceanalysis,theIntel®VTune™Amplifierrequiresdebuginforma

c++ - QT在windows7/8上始终在最前面

我想知道是否可以将我的QMainWindow设置为始终在顶部。我试过:mainWindow.setWindowFlags(Qt::WindowStaysOnBottomHint);mainWindow是一个QMainWindow扩展对象。但它不起作用,我的窗口消失了。 最佳答案 是的,这是可能的,但是您的代码中有两个错误:您正在清除所有标志,但Qt::WindowStaysOnBottomHint已设置。您正在使用Qt::WindowStaysOnBottomHint标志(代表与您想要的相反)而不是Qt::WindowStaysOn

c++ - Qt 文件调整大小在 Linux 中表现怪异

这是我的代码片段QFiletemfile(fileUrl);if(temfile.open(QIODevice::WriteOnly)==false){qDebug()现在在Windows上,如果NTFS文件系统的磁盘空间小于5GB,它会显示Insufficientdiskspace!但在Linux(Ubuntu12.10)上,即使空间不足,文件也会调整大小。右键单击属性文件大小甚至显示为5GB,但不知何故并未考虑在内。由于上述代码检查失败,我可以创建任意数量的5GB文件。当我开始写入文件时(假设200MB),只有大小占200MB但显示为5GB。有什么解决办法吗?我希望它的行为与它在W

windows - 为什么我的 Qt 应用程序即使在非管理员访问权限下也会写入 protected 位置?

我在Windows上使用Qt5.4。我遇到了一个奇怪的问题。我试图在非管理员用户访问级别下将文件写入程序文件目录。我预计它不会写。但是写了!完全没有错误。好的,但真正奇怪的是,只有我的程序可以“看到”该文件,但资源管理器没有显示它,当我尝试dir、dir/ah时它也没有显示>或ls。这是资源管理器可以看到的这是我的程序可以看到的请注意,每次我启动程序并浏览到该文件夹​​时,我的程序都可以看到该文件。这到底是怎么回事? 最佳答案 为什么会这样?文件虚拟化。文件虚拟化是WindowsVista+操作系统用来解决应用程序想要写入只能由管理

c++ - 使用 COM 在 Windows 上的本地计算机上进行进程间通信

我正在研究使用COM和C++在Windows上进行进程间通信的选项。我找到了thisarticleonMSDN,提供了Windows的进程间通信选项列表,COM就是其中之一。但是,不幸的是,COM选项只列出了很多细节。有人对如何在Windows上使用COM进行进程间通信有任何关于文档或其他资源的指示吗?我对与远程机器通信不感兴趣(所以:没有DCOM);我只对同一台本地计算机上的进程间通信感兴趣。想法是定义一些自定义的COM接口(interface)来实现一些自定义的通信协议(protocol),然后有一个服务器程序和一个客户端程序(每个程序都在自己的进程中,运行在同一台本地机器上),并