草庐IT

Qt之UDP通信

全部标签

windows - QT:直接渲染到 DC 的滚动小部件

我正在尝试创建一个小部件,它通过调用getDC()并向其绘制HBITMAP来直接绘制到Windows设备上下文。我正在绘制的小部件位于滚动小部件内。我已经实现了paintEvent(),它看起来确实在绘画,但在绘画之后,小部件立即再次被涂上了空白的灰色。我试过设置WA_PaintOnScreen和Qt::WA_NoSystemBackground但这些都没有帮助。理论上这应该是可能的,因为这基本上就是GLWidget的工作方式。我错过了什么? 最佳答案 在这里找到答案:http://www.qtchina.net/qt4c++gui

windows - 64 位应用程序与 32 位进程通信

我有一个使用32位第三方库的32位应用程序。现在我必须将我的应用程序设为64位,以便它可以利用64位地址空间(大内存)。由于我无法将32位库加载到64位应用程序进程中,我正在考虑在第三方库上创建32位可执行包装器,并使用IPC(命名管道/套接字)从我的64位应用程序进行通信。所以我的问题是他们这样做会有什么问题吗?此外,如果我必须在64位系统上安装我的应用程序,所有与我的应用程序相关的文件都将被复制到“c:\ProgramFiles”目录。现在我可以将我的32位第三方exe包装器保留在同一个“c:\ProgramFiles”中,还是我需要复制到“c:\ProgramFiles(x86)

c++ - Qt - 记住最后检查的单选按钮

我有3个单选按钮和一个旋转框。每个单选按钮应该分别将旋转框值更改为英寸、英尺或米。我该怎么做?我必须知道最后激活的是哪个单选按钮,对吗?有人可以给我一些示例代码吗? 最佳答案 单选按钮和复选框将它们的状态保存为值,并将其公开给您的用户。您可以调用isChecked()了解您的成员变量单选按钮的状态。有点像voidsome_button_hit(boolchecked){if(inches.isChecked()){...}elseif(feet.isChecked()){...}elseif(meters.isChecked()){

windows - 用于与 Windows 命名管道通信的程序

我对Windows中的命名管道比较陌生。我需要一个类似于linux的socat的Windows工具来通过命名管道进行通信。Cygwin的socat可以访问窗口命名管道吗?如果是,怎么办? 最佳答案 我自己很快就弄明白了。使用putty和serial作为连接类型。在串行线路框中键入完整的管道名称。 关于windows-用于与Windows命名管道通信的程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

windows - Windows Embedded Compact 7(以前称为 CE)上的 HTTP 1.0 通信速度较慢

在WindowsEmbeddedCompact7(以前称为CE)上,我响应HTTP1.0请求的性能比在旧的WindowsCE版本(4.0和5.0)上慢得多。在WindowsCE5.0上,我有大约10毫秒的时间来响应请求,在EmbeddedCompact7上大约有170毫秒。一旦我切换到“KeepAlive”和HTTP1.1,它就会再次变快。但是我想了解是否引入了任何可以更改的新套接字限制或选项选项。 最佳答案 我建议您在注册表中将TCPSendQueueDelay设置为0。(https://technet.microsoft.com

windows - 如何在 Windows 上使用 Qt 获取开放端口的进程名称和二进制路径?

我正在编写一个端口冲突检查函数。我需要确定:如果某个端口是开放的守护进程的进程名守护进程的二进制路径我的想法是运行一个QProcess,执行native命令netstat-abno并解析输出。但是参数-b需要提升权限(UAC),我不想用UAC提示来打扰用户。是否有提供此类功能的Qt库?您将如何实现? 最佳答案 您可以使用Tcpvcon.exe,它是TCPView的一部分TCPView需要管理员权限,tcpvcon不需要与-an或-acn一起使用您甚至可以指定以后要检查的应用程序:例如Tcpvcon.exe-Skype最初由Dane发

c++ - 在 Qt 中使用第三方 dll(没有可用的 .lib 文件)

这个问题在这里已经有了答案:Howtomakea.libfilewhenhavea.dllfileandaheaderfile(6个答案)关闭8年前。我的一个friend让我创建一个应用程序来使用“VellemanVM167”来控制一些东西。这个VM167只不过是一个带有一些GPIO和几个ADC的USB接口(interface)卡。此VM167附带一个SDK,由两个DLL(VM167.dll和MPUSBAPI.dll,怀疑第一个DLL中使用了最后一个)和一个头文件VM167.h组成我以前在Delphi中成功使用过该卡,但现在想转换为Qt。由于这只是一个简单的项目,我认为现在正是时候。我

c++ - Qt - 调整大小时避免白色背景(立即设置背景色)

问题在末尾以粗体显示,因此请通读整篇文章。我有一个QAbstractScrollArea小部件,我在OnPaint()事件中手动完全渲染它。我在它的构造函数中设置setAttribute(Qt::WA_OpaquePaintEvent,true);setAttribute(Qt::WA_NoSystemBackground,true);setStyleSheet("QWidget{background-color:rgb(0,0,77);}");绘画事件看起来像这样:voidMyArea::paintEvent(QPaintEvent*event){QPainterview(viewp

windows - 如何为 Qt 独立应用程序创建 list 文件

我正在构建一个带有静态链接的Qt独立应用程序,遵循thisguide.我遵循了除最后一个步骤之外的每个步骤,最后一个步骤包括将list嵌入到可执行文件中,并且该应用程序在许多机器上运行良好;但是,我发现了一个无法启动可执行文件的地方,因为计算机中缺少MSVCP140.dll。这个错误很可能是由于我没有包含list这一事实造成的。确实,在上面的指南中明确写道:[...]youshouldexecutemt.exetoembedamanifestinsidetheapplicationtoavoiderrorsuchasmissingMSVCP90.dllwhentheapplicatio

在 Windows 上通过管道进行 Java/C++ 通信

我有两个独立的程序,一个用Java,一个用C++,都在Windows上运行。我们需要在两者之间进行双向进程间通信。到目前为止,我们一直在使用这种笨拙的解决方案,即写入文本文件并在另一端读取它们,其中生产者在写入完成后会生成一个.lock文件,而消费者在完成读取后会删除该文件。..就像我说的,尴尬。如果我们在*nix上,我们将在C++上使用使用popen()的管道,在Java端使用RadomAccessFile。看起来效果不错。我们可以在Windows上做什么?我们可以使用命名管道吗?谢谢。 最佳答案 看看谷歌的ProtocolBuf