pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

如何在不同的 QT 線程中創(chuàng)建窗口?

How do I create a Window in different QT threads?(如何在不同的 QT 線程中創(chuàng)建窗口?)
本文介紹了如何在不同的 QT 線程中創(chuàng)建窗口?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我有一個(gè)應(yīng)用程序,其中每個(gè)線程(主線程除外)都需要?jiǎng)?chuàng)建自己的窗口.我嘗試創(chuàng)建一個(gè)線程,然后在 run 函數(shù)中調(diào)用 this->exec() .但是,我什至在調(diào)用之前收到一個(gè)錯(cuò)誤:ASSERT 在 QWidget 中失敗:Widgets must be created in the GUI thread."

I have an application in which each thread (except the main thread) needs to create its own window. I tried creating a thread and then calling this->exec() in the run function. However, I get an error before I even get to that call: ASSERT failure in QWidget: "Widgets must be created in the GUI thread."

我想彈出一個(gè)消息窗口.問(wèn)題是源有多個(gè)線程,每個(gè)線程可能需要彈出自己的消息.

I want to popup a message window. The problem is that the source has multiple threads each of which may need to popup its own message.

推薦答案

如果你需要在不同的(非主)線程中創(chuàng)建 QWidget(或其他一些 gui 組件),你可以在這樣的線程中實(shí)現(xiàn)它方式:

If you need to create QWidget(or some other gui component(s)) in different(non-main) thread(s) you can implement it in such way:

  • 創(chuàng)建包含 gui 組件的簡(jiǎn)單包裝器:

  • Create simple wrapper which holds gui component:

// gui component holder which will be moved to main thread
class gui_launcher : public QObject
{
  QWidget *w;
  // other components
  //..
public:
  virtual bool event( QEvent *ev )
  {   
    if( ev->type() == QEvent::User )
    {
      w = new QWidget;
      w->show();
      return true;
    }
    return false;
  }
};

  • 在主線程中創(chuàng)建QApplication對(duì)象

  • create QApplication object in main thread

    另一個(gè)線程主體:

    ..
      // create holder
      gui_launcher gl;
      // move it to main thread
      gl.moveToThread( QApplication::instance()->thread() );
      // send it event which will be posted from main thread
      QCoreApplication::postEvent( &gl, new QEvent( QEvent::User ) );
    ..
    

  • 開(kāi)心點(diǎn),:)

  • be happy, :)

    這篇關(guān)于如何在不同的 QT 線程中創(chuàng)建窗口?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

    【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!
  • 相關(guān)文檔推薦

    How can I read and manipulate CSV file data in C++?(如何在 C++ 中讀取和操作 CSV 文件數(shù)據(jù)?)
    In C++ why can#39;t I write a for() loop like this: for( int i = 1, double i2 = 0; (在 C++ 中,為什么我不能像這樣編寫(xiě) for() 循環(huán): for( int i = 1, double i2 = 0;)
    How does OpenMP handle nested loops?(OpenMP 如何處理嵌套循環(huán)?)
    Reusing thread in loop c++(在循環(huán) C++ 中重用線程)
    Precise thread sleep needed. Max 1ms error(需要精確的線程睡眠.最大 1ms 誤差)
    Is there ever a need for a quot;do {...} while ( )quot; loop?(是否需要“do {...} while ()?環(huán)形?)
    主站蜘蛛池模板: 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | 云杂志网-学术期刊-首页| 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 | 吹田功率计-长创耐压测试仪-深圳市新朗普电子科技有限公司 | 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 粉丝机械,粉丝烘干机,粉丝生产线-招远市远东粉丝机械有限公司 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 防爆电机_ybx3系列电机_河南省南洋防爆电机有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 诗词大全-古诗名句 - 古诗词赏析 | 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 农产品溯源系统_农产品质量安全追溯系统_溯源系统 | 衬塑设备,衬四氟设备,衬氟设备-淄博鲲鹏防腐设备有限公司 | 单锥双螺旋混合机_双螺旋锥形混合机-无锡新洋设备科技有限公司 | 中医中药治疗血小板减少-石家庄血液病肿瘤门诊部 | 空冷器|空气冷却器|空水冷却器-无锡赛迪森机械有限公司[官网] | 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 安规_综合测试仪,电器安全性能综合测试仪,低压母线槽安规综合测试仪-青岛合众电子有限公司 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | 美能达分光测色仪_爱色丽分光测色仪-苏州方特电子科技有限公司 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 缓蚀除垢剂_循环水阻垢剂_反渗透锅炉阻垢剂_有机硫化物-郑州威大水处理材料有限公司 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | 诗词大全-古诗名句 - 古诗词赏析 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 24位ADC|8位MCU-芯易德科技有限公司| 一体式钢筋扫描仪-楼板测厚仪-裂缝检测仪-泰仕特(北京) | 成人纸尿裤,成人尿不湿,成人护理垫-山东康舜日用品有限公司 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 |