当前位置:  技术问答>linux和unix

qt中我的窗体为什么显示不出来呢?

    来源: 互联网  发布时间:2015-11-15

    本文导语:  在linux下用qt编写界面,main是我定义的一个窗体类,win_alarm0是他的一个成员,我在main的析构函数中创建它,并马上隐藏,然后在while_main函数中show(),但是总是显示不出win_alarm0的窗体,若是我把while(1)屏蔽掉,就...

在linux下用qt编写界面,main是我定义的一个窗体类,win_alarm0是他的一个成员,我在main的析构函数中创建它,并马上隐藏,然后在while_main函数中show(),但是总是显示不出win_alarm0的窗体,若是我把while(1)屏蔽掉,就可以了这是为什么呢?有什么解决办法么?请大家帮忙啊。
// impliment class Main
Main::Main( QWidget* parent, const char* name, WFlags fl )
: QWidget( parent, name, fl )


    
    win_alarm0 = new frame(this, "win_alarm");      

    win_alarm0->setGeometry( QRect( 0, 425, 620, 170 ));
    win_alarm0->setFrameShape( QFrame::StyledPanel );
    win_alarm0->setFrameShadow( QFrame::Raised );
    win_alarm0->setBackgroundColor( Qt::white );
    win_alarm0->setLineWidth( 0 );
    win_alarm0->hide();


    /////////////////////////////////////////////////////////////////////////////////////////
 

    
    while_timer = new QTimer(this,"while_timer");
    connect(while_timer,SIGNAL(timeout()),this,SLOT(while_main()));
    while_timer->start(0);
    


    
  

    
    
}   




void Main::while_main()
{

 while_timer->stop();
 win_alarm0->show();
 
 while(1)
  {
     ............   
  }
   

}

|
X是客户服务器网络窗口模型,只有进入事件循环窗口才会显示出来。

|
试试QtApplication::flushX

|
void Main::while_main()
{

 while_timer->stop();
 win_alarm0->show();
 
 while(1)
  {
     ............   
  }
   

}

你这里有个while死循环,程序执行总是在这个while_main中,窗口当然不能显示了.
除非你让whie_main执行完,否则窗口得不到显示的机会.

你跑的qt程序是单线程的,就是这个原因.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问如何在主窗体生成子窗体后,使主窗体暂时不可用?
  • .NET实现父窗体关闭而不影响子窗体的方法
  • jb6:一个主窗体中的cardlayout布局管理器可以用来管理多个窗体吗?
  • C# 登录窗体与窗体调用
  • 在JBuilder中窗体的什么事件与Delphi中的窗体的CloseQuery事件相同?
  • 如何让窗体永远在其他窗体的前面??
  • C# 无边框窗体之窗体移动实现代码
  • 在QT中怎样能够让窗体关闭当鼠标在窗体外点击
  • WinForm子窗体访问父窗体控件的实现方法
  • WinForm窗体调用WCF服务窗体卡死问题
  • C#最简单的关闭子窗体更新父窗体的实现方法
  • qt窗体程序调用什么方法,对拖动到该窗体的文件进行处理
  • qt 相关. 多界面有背景程序在界面(窗体或窗体内容)切换时,闪烁问题.
  • java开发gui教程之jframe监听窗体大小变化事件和jframe创建窗体
  • 请教JFrame的setState(int)的用法,1是最小化窗体,几是最大化?希望将JFrame窗口最大化。用Toolkit的getScreenSize取的窗体并不是最大的
  • c# winform及子窗体向父窗体传值的例子
  • 我想让一窗体始终在最上面,如何做?不是ShowModal()
  • QT怎样使窗体透明
  • 如何在窗体上做出菜单(JBuilder)?
  • 关于“窗体”的两个小问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3