草庐IT

信号基站

全部标签

c++ - Qt的QTcpSocket ReadyRead信号的实现

我想了解Qt对QTcpSocket的ReadyRead信号的实现。它在Windows和Linux上是如何实现的?使用select()、poll()、epoll()、SIGIO或任何其他方式?QTcpSocket如何知道何时发出ReadyRead信号? 最佳答案 由于Qt是开源的,你可以直接查看源代码,自己看看。他们甚至拥有它postedonline.操作系统特定部分(我认为)在qnativesocketengine_unix.cpp中实现在qnativesocketengine_win.cpp.

c++ - Qt Designer - 如何将信号连接到静态函数?

好的,我正在使用QtDesigner构建GUI。我已经设法弄清楚如何制作menuBar并且我已经向栏中添加了一些Action,但现在我需要连接这些Action以使它们做一些事情。具体来说,在我的文件菜单上,我有简单的打开操作。我希望此操作运行调用我的QFileDialog等的函数,但我不知道如何执行此操作。那么,如何将我的actionOpen连接到我的静态函数?我正在使用最新的Qt,5.0.2我在这里有点沮丧。这显然是某人可能需要做的最基本的事情之一,但我无法在网络上的任何地方找到任何真正的解决方案。从缺少Qtwiki到其他人的问题,似乎没有人真正有明确的答案。旧版本的Qt有答案,但在

c++ - QCoreApplication 的 aboutToQuit() 信号在 Qt 5.1.0 中是否仍然受支持?

程序在打开.txt文件时启动。退出后,我希望它关闭.txt文件。以下是代码片段:我的中继服务器:voidMyRelayServer::exitHandler(){qDebug()主要内容:#include#include"myrelayserver.h"#include#includeintmain(intargc,char*argv[]){QCoreApplicationa(argc,argv);MyRelayServerserver(9999);QObject::connect(&a,SIGNAL(aboutToQuit()),&server,SLOT(exitHandler())

c++ - 通过外部信号停止 std::thread 的有效方法是什么?

这是一段无法按设计工作的代码,请向我解释这里出了什么问题(简化代码以使其更具可读性)。shm_serverserver;std::threads{server};//somework...std::cout看起来我为shm_server类的另一个拷贝调用了一个stop方法。因为stop()仅将std::atomic_booldone;(shm_server成员)设置为true但我看到了线程函数(这是shm_server的operator())仍然看到done等于false。std::thread只有移动构造函数?在这种典型情况下,如何正确地向服务器发送信号?classshm_serve

c# - 如何编写用于将 Qt 信号映射到 C# 事件的包装类(通过 C++/CLI)

通过C++/CLI包装器调用C++/Qt类就像在公园散步一样。但我无法将C++/Qt信号映射到C#事件。我尝试结合一些可用的操作方法/答案,但没有得到任何有效结果:HowtomapQtSignaltoEventinManagedC++(C++/CLI)Callingmanagedcodefromunmanagedcodeandvice-versa和其他一些不那么直接相关的...这里的问题是,这些操作方法/答案已经很老了。我目前正在使用Qt5.5(即将推出5.6)和.NET4.6。我试图使一切适应当前的技术水平,但可能失败了。可能是因为树太多,我看不到森林,所以我想求一个工作的例子,用当

c++ - QAbstractProxyModel 不更新 dataChanged() 信号

这是我在源模型中的setData:boolTreeModel::setData(constQModelIndex&index,constQVariant&value,introle){if(!index.isValid()||role!=Qt::EditRole)returnfalse;TreeItem*item=static_cast(index.internalPointer());item->setData(index.column(),value);emitdataChanged(index,index);returntrue;}我将源模型的dataChanged信号连接到代理

c++ - 使用 boost::signals2 处理许多信号/槽的连接/断开

我已经开始使用boost::signals2而不是我的旧信号代码。不过,我在管理多个连接时遇到问题。这是我的问题:我有很多Person类的实例:classPerson{public:voidSetName(stringnew_name){name=new_name;NameChange(name);}stringname;boost::signals2::signalNameChange;};我还有一个人员浏览器,它必须监视所有可用人员的子集以了解变化。由于人们可以从该子集中进出,我必须有一种方法来处理连接对象,并且我创建了一个类(ConnectionList)来处理它:classCo

分布式计算实验4 随机信号分析系统

一、实验要求利用MOM消息队列技术实现一个分布式随机信号分析系统,具体要求:1.随机信号产生器微服务每隔100毫秒左右就产生一个正态分布的随机数字,并作为一个消息发布。2.一个随机信号统计分析微服务,对信号进行如下分析:  (1)计算过去N个随机信号的均值和方差(N为常量,可设置);  (2)计算所有历史数据中的最大值和最小值;  (3)定时地将分析结果打包成一个新消息并通过MOM发布出去。3.一个实时数据显示微服务:  (1)实时绘制过去一段时间内随机信号的折线图;  (2)实时显示随机信号统计分析结果。二、设计说明1.面向消息的中间件MOM  MOM(MessageOrientedMidd

c++ - QObject::connect 未将信号连接到插槽

我在我的项目中使用C++和Qt,我的问题是QObject::connect函数没有将信号连接到插槽。我有以下类(class):classAddCommentDialog:publicQDialog{Q_OBJECTpublic:...somefunctionssignals:voidsnippetAdded();privateslots:voidon_buttonEkle_clicked();private:Ui::AddCommentDialog*ui;QStringsnippet;};我的主窗口的一部分:classMainWindow:publicQMainWindow{Q_OBJ

c++ - 如何使用带有函数指针的新 QObject::connect 语法将 QSslSocket::error 信号连接到插槽?

我正在尝试编译这段代码。标题:#ifndefSOCKETTEST_H#defineSOCKETTEST_H#include#includeclassSocketTest:publicQObject{Q_OBJECTpublic:explicitSocketTest(QObject*parent=0);signals:publicslots:voidonError(QAbstractSocket::SocketErrorsocketError);};#endif//SOCKETTEST_H来源:#include"sockettest.h"SocketTest::SocketTest(QO