草庐IT

信号的捕捉

全部标签

c++ - 捕捉 QTableWidgetItem 检查状态变化

我有一个QTableWidget,上面有一些QTableWidgetsItems。有些项目使用复选框。我使用以下代码添加了复选框:QTableWidgetsItem->setCheckState(Qt::Checked);我现在想在这个复选框状态改变时调用一些函数。例如使用信号。完成此任务最简单的方法是什么? 最佳答案 最简单的方法是在包含QTableWidget的类中用插槽捕获QTableWidget的信号。虽然看起来QTableWidget::itemActivated可能是我们最好的选择,但不确定当Qt::CheckState

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

c++ - 通过异常向 "invalid input"发出信号时是否存在事实上的标准异常或最佳实践方式?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestioninvalid_argument是一个logic_error。两者都是referencesites表明行上的东西Thisclass[i.e.logic_error]definesthetypeofobjectsthrownasexceptionstoreporterrorsintheinternallogicaloftheprogram,suchasviolationoflogicalpr

信号量公平参数不遵循首先出局

我正在制作一个简单的信号量程序,在该程序中,我正在初始化一个数量为4个,启动6个线程的信号量。在运行方法中,我正在获取信号量锁定,每个线程完成后,我将释放锁。这是我的代码:importjava.util.concurrent.Semaphore;publicclassSemaphoreTest{staticSemaphoresemaphore=newSemaphore(4,true);staticclassMyThreadextendsThread{Stringname="";publicMyThread(Stringname){this.name=name;}publicvoidrun(){

c++ - 如何在 C++ 中使用 std::bind 函数作为信号处理程序?

我正在使用以下代码将信号处理添加到我的C++类中:namespace{std::atomicsignal_flag(false);}voidterminate_or_interrupt_handler(intsignal){switch(signal){caseSIGTERM:WARN("SIGTERMreceived");signal_flag.store(true);break;caseSIGINT:WARN("SIGINTreceived");signal_flag.store(true);break;default:throw(std::runtime_error("Unhan

c++ - 将信号连接到基类构造函数中的纯虚拟插槽是否安全?

我问自己下面的代码是否安全:#include#include#include#includeclassBase:publicQObject{Q_OBJECTpublic:Base(){//isitsafetodothat?connect(this,SIGNAL(signal1()),this,SLOT(slot1()));}virtual~Base(){}signals:voidsignal1();publicslots:virtualvoidslot1()=0;//couldbeonlyvirtual};classDerived:publicBase{Q_OBJECTpublicsl

c++ - Qt 向主应用程序窗口发送信号

我需要一个QDialog来发送一个信号来重绘主窗口。但是连接需要一个对象来连接。因此,我必须每次都使用new创建每个对话框并显式放置一个connect()。我真正需要的是一种只从任何函数内部发送MainWindow::Redraw()并在Mainwindow内部有一个connect()来接收它们的方法。但是您不能使信号静态化,而且对话框显然不会从MainWindow继承。编辑:谢谢-我不想绕过信号/插槽。我想绕过一个主应用程序指针单例,比如afxGetApp()。但我不明白如何发出信号并将其向上(或向下?)漏斗到我捕获它的主窗口。我把信号/槽想象成异常 最佳

c++ - 如何在 Mac OS X 中获取 aio 信号处理程序的用户数据

我试图在MacOSX下使用aio_*函数进行异步文件IO,但我在将某种形式的用户数据输入信号处理程序时遇到了问题。这是设置操作的代码:classaio_context{public:aio_context(intfildes,boost::uint64_toffset,constMyBufferClassPtr&buffer){//Theaiocbstructmustbezeroedmemset(&m_aiocb,0,sizeof(structaiocb));//Setwhattodom_aiocb.aio_fildes=fildes;m_aiocb.aio_buf=buffer->d

【语音识别】BP神经网络语音特征信号分类【含Matlab源码 2338期】

⛄一、获取代码方式获取代码方式1:完整代码已上传我的资源:【语音识别】基于matlabBP神经网络语音特征信号分类【含Matlab源码2338期】点击上面蓝色字体,直接付费下载,即可。获取代码方式2:付费专栏Matlab语音处理(初级版)备注:点击上面蓝色字体付费专栏Matlab语音处理(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab语音处理(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);点击CSDN资源下载链接:1份本博客上传CSDN资源代码⛄二、BP神经网络语音特征信号分类1语音通信与特征分类语音识别

C++、信号和线程

我在使用线程和信号设计我的应用程序的主要工作流程时遇到了一些困难。我的目标是有一个主线程,捕捉信号,n个其他线程周期性地做一些事情(实际上是在树莓派上使用传感器,并保存检索到的数据)。我希望能够以干净的方式关闭程序,即等待传感器完成写入数据(如果它们在信号发生时),然后再关闭它。我正在使用C++11。现在,我有这个例子:#include#include#include#include#defineNUM_THREAD3;staticvolatileintstop=0;//Ifthethreadsneedstostopstd::mutexm;//MutexvoidthreadHandle