Qt / PyQt: как передать дополнительные аргументы при рисовании виджета? - PullRequest
0 голосов
/ 20 декабря 2011

Мне нужно вызвать несколько QWidget.update(rectangle) для одного и того же виджета, каждый раз в другом или одном и том же прямоугольнике.Но для метода рисования требуется больше информации, то есть, что делать в этом прямоугольнике.Выделите?Курсор?Наполните?и т.д. Так как мне передать paintEvent() эту дополнительную информацию?[Я использую PyQt, но ответ в Qt тоже подойдет.]

1 Ответ

0 голосов
/ 12 января 2012

Вот решение, которое я разработал для python:

Создайте несколько методов рисования, например paintAction1(self, event), paintAction2(self, event). Затем, когда вам нужен конкретный метод, переназначьте метод paintEvent по умолчанию на правильный, например self.paintEvent = self.paintAction1 и т. Д. Вы можете по умолчанию создать метод рисования по умолчанию, а каждому необычному - переназначить self.paintEvent. 'вернуться к настройке по умолчанию после завершения.

...