草庐IT

Qt之UDP通信

全部标签

c++ - UDP 中的 recvfrom 没有得到任何东西

我正在尝试通过UDP套接字接收数据,但我找不到接收任何数据的方法。我可以用wireshark看到数据实际上正在进入计算机,但是recvfrom总是超时。涉及的代码非常简单:mUDPSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);if(mUDPSocket==INVALID_SOCKET)return1;uint32_taTimeout=5000;constintlResult=setsockopt(mUDPSocket,SOL_SOCKET,SO_RCVTIMEO,(char*)&aTimeout,sizeof(aTimeout));if(S

c++ - Qt5 - 为什么不截图并保存到文件中?

为什么它不保存任何文件?#include"mainwindow.h"#include#include#include#include#includeQPixmapgrabScreens(){autoscreens=QGuiApplication::screens();QListscrs;intw=0,h=0,p=0;foreach(autoscr,screens){QPixmappix=scr->grabWindow(0);w+=pix.width();if(h 最佳答案 您要查找的文件应该与可执行文件位于同一文件夹中。如果您从Qt

c++ - 在 Qt5 中为高 DPI 缩放图像的最佳方法是什么?

我们的应用程序中有各种图像(从QLabel中的QPixmap显示)在非高DPI屏幕上以合理的尺寸显示,但在高DPI上缩小。其他UI元素看起来不错。我查看了devicePixelRatioF()函数,但它始终返回1。在我的系统上,我启用了150%缩放,因此如果我将1.5硬编码为比例因子,则图像具有相对于窗口的预期尺寸。问题是,如何获得系统比例因子,以便使应用程序在具有不同DPI/缩放比例的系统中看起来一致?与Windows一样,该应用程序也是为Linux构建的。如有任何建议,我将不胜感激。 最佳答案 这个问题也打败了我。Qt的bugt

c++ - Windows 10下为VTK生成Makefile时Qt mkspecs路径错误

我当前的任务是在Windows10下使用(静态)Qt和VTK为应用程序设置工作环境。我成功安装了Qt5.11.1static,现在想构建VTK。任何版本的VTK都可以,只要它与Qt5.11.1兼容,并且必须构建Qt模块(VTK_Group_Qt)。对于我的版本,我决定使用VTK8.1.1,但如前所述,任何版本都可以。我使用CMakeGUI配置VTK,使用MinGWMakefile(我使用MinGW64),效果很好。然后我想继续生成Makefile,打开VTK_Group_Qt。Qt的路径和版本已经被正确识别:Qt5Core_DIR      C:/build_environment/q

c++ - Qt5 C++ 链接新窗口与 Qt Designer

在过去的3个小时里,我一直在努力解决这个问题。老实说,我对问这个问题犹豫不决,但似乎我的具体问题不会在任何地方得到回答。所以这是我的情况:TL;DR:如何将新创建的窗口(在代码中或在QtDesigner中)与相应的部分链接起来。意思是,如何链接代码生成的窗口和QtDesigner以及相反的方式?现在我正在VisualStudio2017中使用Qt5开发一个Window应用程序。我希望在单击按钮时打开一个新窗口,然后使用QtDesigner对其进行编辑,就像我在主窗口中所做的那样。(请记住,我主要使用VisualStudio2017进行编程。)我能够做到这一点。但是我不知道如何使用QtD

c++ - DuplicateHandle() 是否进行任何进程间通信 (IPC),如果不进行,为什么要使用目标参数?

我正在寻找DuplicateHandle()非常困惑。第三个和第四个参数hTargetProcessHandle和lpTargetHandle似乎暗示这个API函数进行某种形式的进程间通信,但我在网上阅读的内容似乎暗示(没有直接说)实际上这个函数不能与外部的任何东西通信它自己的进程的地址空间,如果你真的想说将本地进程句柄复制到另一个进程,你必须自己手动完成。所以有人可以可怜我并明确地告诉我这个函数本身是否有任何IPC吗?另外,如果它不执行任何IPC,那么这两个参数的意义何在?如果没有发送数据并且此函数的输出对其他进程不可见,怎么会有“目标”?起初我以为我可以调用GetCurrentPr

c++ - 如何隐藏在 Qt 应用程序中打开的 Windows 终端?

首先,有类似的问题,但我认为这是一个不同的问题,因为Windows终端仅在我调用system()时出现,而不是在应用程序启动时出现。我有一个带有gui的程序,它是用C++和Qt编写的,并使用MinGW编译器在qmake中使用.pro文件构建。操作系统是虚拟机中的Windows10。我在Ubuntu中编写了代码,它按预期工作(根本看不到操作系统终端),但现在我正在Windows中测试它。我的问题是,每当我在我的代码中调用system()或类似代码来执行另一个程序(假设在后台)时,Windows都会在我的gui前面打开一个cmd终端。我的程序中有很多这样的调用,因此在程序运行时有很多这样的

c++ - 如何在加密前拦截应用程序通信?

我正在尝试对Windows应用程序用于通过网络进行通信的协议(protocol)进行逆向工程。它使用TLS加密连接与服务器通信。我想拦截应用程序的相关调用(对TLS库或安全套接字API),并查看其明文消息。完全披露:这不是为了任何充实目的,而是为了改进开源项目。我试过在Linux上的Wine下运行该应用程序,上面的内容相当于一个LD_PRELOAD技巧,用于拦截对send()的调用。https://rafalcieslak.wordpress.com/2013/04/02/dynamic-linker-tricks-using-ld_preload-to-cheat-inject-fe

c++ - 修复Qt Window大小和位置问题

我按如下方式保存和恢复QMainWindow的大小和位置:window->resize(savedSize);window->move(savedPos);window->show();voidcloseEvent(QCloseEvent*e){savedSize=window->size();savedPos=window->pos();}问题是窗口位置由应用程序栏(Windows最小化和最大化按钮所在的栏)更改。因此,当我打开和关闭窗口几次时,窗口会越来越向下移动(每次都恰好是应用程序栏的大小)。我怎样才能准确地恢复到最后的位置?问候, 最佳答案

c++ - Win32 共享内存的包装类? (进程间通信)

您可以为Win32上的IPC推荐什么包装类?我试过XQueue,我发现它有点笨拙,想听听外面还有什么。在InterlockedPopEntrySList()上构建一些东西看起来不错,但这需要服务器2003。谢谢,亚当 最佳答案 我推荐Qt4(或者您可以查看源代码):http://doc.trolltech.com/4.5/qsharedmemory.html 关于c++-Win32共享内存的包装类?(进程间通信),我们在StackOverflow上找到一个类似的问题: