how to display a dx widget in a Qt app?

Started by
0 comments, last by ~Helgon 11 years, 3 months ago
#include "worldedit.h"
#include "CreateDevice.h"
WorldEdit::WorldEdit(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
ui.QD3DWidget->resize(QSize(400, 300));
ui.QD3DWidget->setAttribute(Qt::WA_PaintOnScreen, true);
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(20);
}
WorldEdit::~WorldEdit()
{
}
void WorldEdit::initializeD3D()
{
HWND hWnd = (HWND)ui.QD3DWidget->winId();
InitD3D(hWnd);
m_bInit = true;
}
void WorldEdit::paintD3D()
{
Render();
}
void WorldEdit::paintEvent(QPaintEvent*)
{
if(updatesEnabled())
{
updateD3D();
}
}
void WorldEdit::d3dInit()
{
initializeD3D();
}
void WorldEdit::d3dDraw()
{
if(!initialized())
{
d3dInit();
}
paintD3D();
}
void WorldEdit::updateD3D()
{
d3dDraw();
}
this is the code
but I see nothing in the window
could anybody tell me what the problem is ?
Advertisement

I recently had the same problem.

This sample helped me perfect

http://jholewinski.org/blog/direct3d-11-with-qt-4/

Few days ago I've tried it with Qt5. Some method names and return types changed but beside of this it also should work with Qt5.

from time to time i find time

This topic is closed to new replies.

Advertisement