QEventLoop等待另外一个事件的停止,非常实用 good

void MyWidget::SendRequest(QString strUser)
{
    network_manager = new QNetworkAccessManager();

    connect(network_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(ReadXML(QNetworkReply*)));
    QEventLoop loop;
    connect(network_manager, SIGNAL(finished(QNetworkReply*)), &loop, SLOT(quit()));
    // 发送请求
    network_manager->post(network_request, post_data);
    // 启动事件循环
    loop.exec(QEventLoop::ExcludeUserInputEvents);

    network_manager->deleteLater();
}
时间: 2024-11-09 08:08:41

QEventLoop等待另外一个事件的停止,非常实用 good的相关文章

关于Qt的事件循环以及QEventLoop的简单使用(QEventLoop::quit()能够终止事件循环,事件循环是可以嵌套的)

http://www.cnblogs.com/-wang-cheng/p/4973021.html 1.一般我们的事件循环都是由exec()来开启的,例如下面的例子: 1 QCoreApplicaton::exec() 2 QApplication::exec() 3 QDialog::exec() 4 QThread::exec() 5 QDrag::exec() 6 QMenu::exec() 这些都开启了事件循环,事件循环首先是一个无限“循环”,程序在exec()里面无限循环,能让跟在ex

事件封装(多个函数绑定一个事件,估计这样解释不对)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <!-

写一个事件(不仅仅是为控件添加事件)------------C#

最近看书上有关于事件的内容,之前在写winform时,事件都是直接用的,对内部的写法并不了解. 这里将自定义一个事件. 首先,写一个类. public class NewMailEventArgs:EventArgs//这个类以后是事件的参数,用于传递事件的一些附加信息.但是必须继承EventArgs { private readonly string m_from, m_to, m_subject; public NewMailEventArgs(string from,string to,s

事件封装(多个函数绑定一个事件,预计这样解释不正确)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <!-

CC2540 OSAL 学习其中原理,以及 给任务 添加 一个事件(定时发送串口消息)

1.TI 的 CC2540跑了一个  OSAL   (Operating System Abstraction Layer), 2.在 TI 提供 的 SDK  中 ,打开 一个 观察者工程,找到任务初始化的地方.(可通过 菜单->Edit->Find and Replace->Find in Files 这个全局查找 功能 进行找到这个函数osalInitTasks) 这里 有很多任务 的初始化 ,按顺序执行,每个任务 有一个 对应 一个 事件处理函数(那个任务产生事件,就去执行这个函

iOS日历中给一个事件添加多个提醒

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) iOS自带的日历应用中,我们最多只能给一个事件设置2个提醒,但是通过代码,我们可以给事件设置任意多个提醒. 给事件设置提醒的代码可以看我写的这篇文章: iOS9中如何在日历App中创建一个任意时间之前开始的提醒(三) 设置多个提醒的方法与此类似,我们只要创建多个提醒,再添加它们到事件中就可以了: EKAlarm *alarm = [EKAlarm alarmW

JQ避免出现多次执行一个事件的解决方案

点击按钮之后会多次执行一个事件的话,就在方法结尾加入如下代码,这样的话事件就可以只执行一次了 //避免出现多次执行事件的问题 event.stopPropagation(); 此外,时间的重复绑定也有可能导致出现此问题,解决方法就是在方法开始的时候(以easyui的window的before方法为例)先清除标签的事件,然后在进行下面的重新绑定事件执行方法,如以下代码: //首先初始化解除时间帮顶防止时间重复绑定重复执行事件内容 $('#btnAdd').unbind('click'); $('#

用C语言写一个“事件”的模拟程序

源:用C语言写一个“事件”的模拟程序 Example.c //定义一个函数指针 func int (*func) (void); //调用该函数相当于触发了事件. //该事件触发后,会检查函数指针func是否为NULL,如果不为NULL,说明该指针已被赋值(相当于该事件被注册). //如果事件已被注册,则执行之. void fireTheEvent() { if(func != NULL) { func(); } } void registerTheEvent(int (*function) (

商品类型的下拉框绑定一个事件,通过ajax获取属性

html代码这么写 <!-- 商品属性 --> <table cellspacing="1" cellpadding="3" width="100%" style="display:none;" class="tab"> <tr><td> <select name="Goods[type_id]"> <option val