• 6179阅读
  • 1回复

[提问]多线程中,QApplication::postEvent的第一个参数 [复制链接]

上一主题 下一主题
离线wolf_london
 

只看楼主 正序阅读 楼主  发表于: 2012-06-03
线程中负责界面,子线程负责抓包,并简单分析抓到的包,把结果反馈到主线程的界面上。采用的是libpcap抓包。

思路是,自定义一个事件,抓包分析完后postEvent给界面,界面负责显示下来。现在的问题
  1. void QCoreApplication::postEvent ( QObject * receiver, QEvent * event )
postEvent的第一个参数如何获取?,因为界面类的对象是定义在main函数里的。简单示意:

  1. class Dialog : public QDialog
  2. {
  3. }
  4. class Thread:public QThread
  5. {
  6. protected:
  7.     void run() {...QApplication::postEvent(?,?)}
  8. }
  9. int main(int argc, char *argv[])
  10. {
  11.     QApplication app(argc,argv);
  12.     Dialog *dialog = new Dialog();
  13.     ...
  14. }
在第七行的代码里,postEvent的第一个参数该怎么写呢

离线xie133
只看该作者 1楼 发表于: 2012-06-04
传参,构造的时候给个参数传递过去就可以了。或者写一个公有的方法传递也可以。
快速回复
限100 字节
 
上一个 下一个