Виджеты SFML 2.1 в Qt

Я хочу, чтобы окно рендеринга SFML отображалось в виджете qt

Я следую инструкциям ниже. http://becomingindiedev.blogspot.com/2013/10/qt-5-and-sfml-20-integration.html

но выдает эту ошибку:

"ошибка: неверное преобразование из 'void*' в 'sf::WindowHandle {он же HWND__*}' [-fpermissive] RenderWindow::create((void *) winId());^"

Строка ошибки:

RenderWindow::create((void *) winId());

Я понятия не имею, как я могу это исправить?


person delio    schedule 16.03.2014    source источник
comment
Решение такое, я думаю: RenderWindow::create(reinterpret_cast<WindowHandle>() winId())); или что-то близкое к этому. Пожалуйста, подтвердите, если это так, поэтому, если это действительно будет открыто, я опубликую это как фактический ответ.   -  person hyde    schedule 17.03.2014
comment
Да, это работает!!! RenderWindow::create(reinterpret_cast‹sf::WindowHandle›(winId()));   -  person delio    schedule 17.03.2014
comment
Прохладный. Написал это как ответ.   -  person hyde    schedule 08.04.2014


Ответы (1)


(преобразование комментария в краткий ответ)

Поскольку типы не совпадают в исходном коде, вам нужно сообщить компилятору C++, что они действительно совпадают, и вы знаете, что делаете, используя явное приведение типов:

RenderWindow::create(reinterpret_cast<sf::WindowHandle>(winId()));
person hyde    schedule 08.04.2014