草庐IT

Qt之UDP通信

全部标签

c++ - Qt 和 C++ 的报告库

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我正在寻找C++的报告库。我在项目中需要做的是根据数据库中存储的历史数据呈现一些统计报告(pdf文件,包括一些网格和图表)。我们正在使用Qt和C++。我对此做了一些研究并找到了一些图书馆。特别是NCReports和KDReports看起来很符合我的要求,但它们对我来说使用起来很昂贵,因为我即将超过为我的项目分配的预算限制。因此,免费和开源库是更可取的。有什么建议吗?

c++ - Qt 和 boost 线程本地存储的限制

我对QThreadStorage和boost的thread_specific_ptr有以下问题:1)Qthreadstorage中可以存储的对象数量有限制吗?我遇到了一个关于256个QThreadStorage对象的qt查询,所以想澄清一下这个限制指向什么?2)QThreadStorage是否只能与QThreads一起使用?3)boosttls有什么限制吗?4)我有一个用例,我想在所有线程完成进一步处理时对tls进行操作并将数据同步到主线程。我写了下面的代码,想检查下面的代码是否正常。#include#include#includeboost::mutexmutex1;intglob=

c++ - 与 Thrift 或 Protocol Buffers 的双向通信

(对不起我的英语)是否可以构建一个应用程序(实际上是2个)来实现进程之间的双向通信?我知道两个“框架”来传达不同的进程(使用不同的语言)Thrift和Protocolbuffers。我知道thrift在客户端/服务器模式下工作,所以如果我想要双向通信,我需要像客户端和服务器一样同时构建两侧/进程。客户端/服务器客户端/服务器我不知道这种做法是否正确。但是..我无法使用ProtocolBuffers找到关于此的信息。这可能吗?我有一个C++进程和一个Node.js(Javascript)应用程序..C++进程向deNode.js应用程序发送通知(效果很好,我使用thrift进行测试)..

c++ - 如果从同一个信号调用两个槽,Qt 可以同时调用它们吗?

如果在两个不同的线程中有两个槽,并且这些槽连接到第三个线程中的信号。两个槽会同时被信号调用还是每次都被同步调用?我问是因为我想发送一些回调数据结构(用QSharedPointer封装)并询问是否需要内部锁定机制。 最佳答案 如果您使用Qt::QueuedConnection将信息传递给线程,则不需要锁定实际的信号/槽调用,因为QueuedConnection机制以线程安全的方式处理此问题。话虽如此,您仍然需要保护您的线程访问的任何共享内存,无论它们是如何调用的。第三个线程发出单个信号以导致调用两个槽这一事实不会改变这一点。

c++ - 这种线程间通信的方法安全吗?

我有3个对象(继承自QObject),每个对象都包含一个单独的std::list。每个对象都在主gui线程(没有父线程)中创建,然后被推送到它自己的线程(使用Qt的QObject::moveToThread())。每个线程都连接到一个图形用户界面,消息在不同线程之间发送数据。每个线程本质上是处理它自己的列表。例如:目标1:数据消费者。它弹出列表的前面(如果存在数据)以供使用。它还有一个可用的SLOT,以便其他线程可以向它推送数据。没有其他对象可以直接访问此列表,只有原始QObject类。目标2:数据的生产者。它将数据推送到它的列表中。它有SLOTS可供其他人“ping”它以获取数据,而

c++ - Qt:某些插槽不会在 Release模式下执行

我正在Qt(MSVC++2008)中做一些简单的程序,只有几个复选框和按钮。在Debug模式下,一切正常,但我不能分发这样的可执行文件,因为大多数人没有安装VisualStudio。当我在Release模式下编译它时,只有2个按钮起作用。我使用QtCreator的“绘图工具”(我猜是QtDesigner)设计了我的窗口。我的头文件中确实定义了这样的插槽:privateslots:voidon_goButton_clicked();//Worksfinevoidon_InputCheckBox_stateChanged(intarg1);//Don'tworkvoidon_outputF

c++ - Qt 中的截屏支持?

我知道有一些非常棒的工具可以捕捉桌面上的动态屏幕,但作为我一直在开发的这个应用程序的一部分,我需要捕捉在特定小部件区域发生的事件。到目前为止,开发完全是在开放的QtSDK之上完成的,但我没有看到任何对截屏视频的支持。除了谷歌搜索之外,我已经探索了该论坛上的所有相关答案。在grabWidget上合并周期性像素图似乎是一种方法,但我希望有更优雅和更强大的东西。我找到的所有howTos都是基于DirectX或GDI。如果在这种情况下存在一个正确的方法或我在GPL许可框架中有其他替代方法,请告诉我正确的方法。 最佳答案 因为没有人提出另一个

c++ - Qt : send Key_Return and Key_Delete events

我正在使用QtEmbedded开发虚拟键盘,但遇到了一个小问题。事实上,我使用SignalMappers将键映射到键盘事件,以便在QTextEdit小部件中显示文本。一切正常,除了两个事件:Key_Return和Key_Delete;我不知道我做错了什么,也许你会有想法。这是一个经典的代码,发送字符:voidVirtualKeyboard::SendChar(intindex){QCharcharToSend(letters_.at(index)->text().at(0));//Getcharserver_->sendKeyEvent(charToSend.unicode(),QEv

c++ - Selenium 和 qt C++?

是否可以将selenium与qtc++一起使用?selenium似乎没有对C++的官方支持?http://seleniumhq.org/download/ 最佳答案 您可以使用json有线协议(protocol)在Qt/C++应用程序中与webdriver服务器通信,但请考虑改用一些脚本语言。例如,Python非常容易学习并且具有webdriver绑定(bind)。http://code.google.com/p/selenium/wiki/JsonWireProtocolhttp://code.google.com/p/selen

c++ - 无法使用 boost::asio 收听 UDP 端口

我有一个服务器,它收集信息并通过本地网络广播一些消息。我正在使用boost::asio通过端口8079上的UDP广播这些数据包,我可以使用WireShark验证这些数据包实际上是按预期广播的。现在,很自然地,我想跟进一个可以对这些消息使用react的监听器,但我正在努力接收任何东西。我目前的做法是:boost::asio::io_serviceio_service;boost::asio::ip::udp::socketsocket(io_service);boost::asio::ip::udp::endpointlocal(boost::asio::ip::address::fro