Как нарисовать в «родительском хранилище TLW»?

Это может быть очень сложный вопрос, на который не многие знают ответ, но я все равно буду его задавать.

У меня есть класс, производный от QWindow, с перегруженным event (), который использует хранилище Backing и заполняет все окно цветом, скажем, черным.

Теперь у меня есть мое приложение QT QML, когда я создаю свое окно и устанавливаю родителя в качестве основного вида моего приложения, я получаю окно размером 1x1px! Это сводит меня с ума..

Я копал хотя исходный код QT и нашел это:

void QQnxRasterWindow::adjustBufferSize()
{
// When having a raster window we don't need any buffers, since
// Qt will draw to the parent TLW backing store.
const QSize windowSize = window()->parent() ? QSize(1,1) : window()->size();
if (windowSize != bufferSize())
setBufferSize(windowSize);
}

void QQnxRasterWindow::setParent(const QPlatformWindow *wnd)
{
QQnxWindow::setParent(wnd);
adjustBufferSize();
}

Что обидно, потому что я понятия не имею, как мне использовать TLW и рисовать в моем окне сейчас.
Есть идеи?

Прежде всего, что такое TLW?
Во-вторых, как мне нарисовать родительский TLW так, чтобы он оказался в моем буфере окна.

Спасибо

QT 5.3.1

Редактировать:
не renderNow () — моя ошибка,
Событие перегруженной функции, которое использует событие UpdateRequested для рисования моего фона.

Edit2:
Также это проблема, только когда я устанавливаю parent, когда нет родительского набора, который я могу сделать так, как я хочу с моим QWindow, и у него есть собственный буфер. Странно как-то.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]