LINUX.ORG.RU

[Qt] QGridLayout и item-ы, не отнаследованные от QWidget

 


0

0

Как в сетку (QGridLayout) поместить, например, объект QPainter-а? Первое, что приходит в голову -- создать промежуточный класс, отнаследованный от QWidget и от QPainter, но такой вариант мне совершенно не нравится. Некрасиво как-то получается.

P.S. А я пока документацию повнимательнее посмотрю. :-)

QPainter - это класс, предназначенный для рисования на PaintDevice'ах (или не так называются - документации под рукой нет), т.е. для отображения на экране он вообще не предназначен. Тебе, наверное, подойдет вариант с рисованием на QPixmap, а в QGridLayout помести QLabel. У QLabel'а вызови метод setPixmap, передав ему подготовленную картинку. Или можешь создать дочерний класс от QWidget, переопределить там paintEvent и с помощью QPainter'a рисовать на самом себе (свободно рисовать на виджетах можно только в paintEvent'е)

mannaz
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.