25得票8回答
在使用Qt中的排队连接时,如何压缩插槽调用?

阅读了一些类似于Qt信号槽通信的文章(例如这篇文章)之后,我仍然有一个关于队列连接的问题。 如果我有一些线程一直相互发送信号,假设有一个thread_slow在其事件循环中运行缓慢的方法,而另一个thread_fast正在运行快速的方法,该方法在另一个线程仍在运行缓慢的方法时会发送多个信号…...

24得票2回答
Qt信号未定义引用错误

我有一个类服务器,为其创建了一个信号joined(QString name)。我在一个名为join(QString name)的函数中调用它,但是出现错误: Server.o: 在函数 Server::join(QString)': Server.cpp:(.text+0x48):...

24得票5回答
何时使用信号和槽,何时不使用

我们正在使用提供信号和槽机制的Qt,我认为这是非常方便的。然而,强大的功能也意味着极易滥用,因此需要谨慎使用。 有没有任何关于信号槽使用的最佳实践?在这方面,我很难找到一些通用的指导准则。以下是一些问题(我对其中的一些问题有明确的看法,但并非我团队中所有成员都同意): - 使用信号来报告错...

22得票3回答
QObject连接函数

我查看了其他类似的问题并尝试了它们提供的解决方案,但它们对我没有作用。 基本上,我正在尝试创建一个仅发起post请求的http客户端。为此,我需要将 QNetworkManager 的 finished 信号连接到某个回调槽上。 以下是我的代码。 h文件: ... public slo...

19得票6回答
如何在不继承自QObject的情况下使用SIGNAL和SLOT?

还有其他的方式来表达我的问题(虽然它没有解决我的问题):'QObject::QObject' cannot access private member declared in class 'QObject' 我需要在我的类中使用SIGNALs和SLOTS功能,...

19得票4回答
QObject::connect没有匹配的函数

我正在编写一个程序,每10毫秒发送一个UDP数据包。以下是我的程序应该如何工作: 我有一个客户端类://Constructor clientSupervision::clientSupervision() { } void clientSupervision::sendDataUDP(){ ...

18得票2回答
Qt/C++:当QListWidgetItem被选中时的信号?

我的表格中有一个QListWidget,其中包含可选中的QListWidgetItems。我想找到捕获QListWidgetItem被选中/取消选中事件的方法。我没有看到任何这样的信号存在,但也许我是错的。我目前正在使用QListWidget::itemClicked()信号,并检查QList...

17得票4回答
通过信号发送的对象的删除,信号中对象的所有权,Qt

这里是我的信号声明:signals: void mySignal(MyClass *); 我是如何使用它的:MyClass *myObject=new myClass(); emit mySignal(myObject); 我遇到的问题是:谁负责删除myObject: 发送代码,如...

14得票1回答
QObject::connect方法与connect方法之间的区别

我是Qt的新手。大多数情况下,Qt开发者需要使用信号和槽来进行对象之间的通信。到目前为止,我已经看到了两种连接信号和槽的方式。1)QObject::connect(scrollBar, SIGNAL(valueChanged(int)),label, SLOT(setNum(int))); ...

13得票2回答
从另一个线程发出信号是否安全?

如果将槽连接为QueuedConnection,那么在另一个线程上对对象发射信号是否安全?我找不到特定的文档来提及这一点,我找到的最相关的引用是这个:relevant quote。 “QObject是可重入的。它的大部分非GUI子类,例如QTimer、QTcpSocket、QUdpSocke...