代码之家  ›  专栏  ›  技术社区  ›  Andrew

IVideoWindow更新问题

  •  0
  • Andrew  · 技术社区  · 14 年前

    我想将网络摄像头中的视频呈现到Qwidget中。我已经将qwidget设置为ivideoWindow的父级。代码如下:

    m_iVideoWindow->put_Owner((OAHWND)widget_->winId());
    m_iVideoWindow->put_WindowStyle(WS_CHILD | WS_CLIPCHILDREN);
    m_iVideoWindow->put_Left(0);
    m_iVideoWindow->put_Top(0);
    widget_->setChild(m_iVideoWindow);
    

    另外,我重新实现了qwidget的调整大小事件,所以当它调整大小时,也会调整ivideo窗口的大小。当小部件未设置为qlayout时,一切工作正常。什么时候-它变为空白。这就是问题所在。

    1 回复  |  直到 14 年前
        1
  •  0
  •   badgerr    14 年前

    我认为当qt绘制它的小部件时,它不会重新绘制它们,除非它知道它们需要更新。我也不确定它是否传递给窗口所需的任何重绘内容,传递给您作为小部件子级分配的窗口。

    当我将自己的窗口嵌入qt小部件时,我使用 http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Windows/qtwinmigrate/ ,但这可能无法解决您的问题,因为我仍然需要使用qtimer强制更新我的窗口。