Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Makss от Май 13, 2008, 17:57



Название: Рисование ксором
Отправлено: Makss от Май 13, 2008, 17:57
Как в Qt4 рисовать ксором?
В Qt3 можно было рисовать так если вызвать метод у QPainter - setRasterOp() и передав соответсвующий флаг, но в четвёртом Qt, чё-т ничего не нашёл, есть там метод setCompositionMode(), но он вроде не для этого...

что теперь делать?


Название: Re: Рисование ксором
Отправлено: pastor от Май 13, 2008, 18:25
Из ассистанта с раздела по портированию с Qt3 на Qt4:

Цитировать
The QPainter::RasterOP enum has been replaced with QPainter::CompositionMode.


Название: Re: Рисование ксором
Отправлено: Makss от Май 13, 2008, 18:35
кароче вот код:

QPainter p(this);
p.setCompositionMode(тут флаг, точно не помню какой, но там есть слово XOR);
p.drawRect(QRect(координаты));

этот код выполняется по два раза, т.к. я рисую резиновую рамку для выделения(она должна вообще рисовать повех всего что на этом виджите) - стираю предыдущее положение, и рисую новую, но так не хочет, вообще постоянно варнинги выдаёт в консоли, я уж не помню точно их, просто прога на работе, а дома нету возможности проверить, и сказать всё точно


Название: Re: Рисование ксором
Отправлено: pastor от Май 13, 2008, 20:22
А может легче пользоваться стандартными средстами Qt для рисования резиновой рамки для выделения?
см. QRubberBand.


Название: Re: Рисование ксором
Отправлено: Makss от Май 13, 2008, 20:39
про это я честно вообще незнал, спасибо посмотрю