2009-07-22 6 views
0

Я пытаюсь нарисовать QRubberBand на QGLWidget. По какой-то причине область резиновой ленты нарисована как непрозрачная, и я не вижу, что стоит за ней. Этот вид превосходит цель резиновой ленты как способ выбрать материал внутри него.
Я видел в документах для QStyleOptionRubberBand, что есть «непрозрачный» элемент, но я понятия не имею, как получить доступ к этому в стиле по умолчанию или как его изменить.Qt: прозрачный QRubberBand?

Кто-нибудь когда-либо делал это?

+0

Пожалуйста, добавьте исходный код, где вы имеете дело с QRubberBand. Трудно понять, является ли это ошибкой на вашем конце, конец Qt или особенностью Qt. – TahoeWolverine

+0

Код на самом деле не является чем-то особенным. его в основном тот же код, что и документы QRubberBand: http://doc.trolltech.com/4.5/qrubberband.html – shoosh

ответ

0

Вы находитесь в Vista/Win7 с Areo on? Если да, то работает ли это, когда вы выключаете его?

EDIT: Как насчет Message #6?

«Тем временем я искал его в исходном коде QT, и я заметил, что следующее решение моей проблемы: myQRubberBand-> setWindowFlags (Qt :: ToolTip);"

+0

Vista с Areo off. – shoosh

0

Было бы замечательно иметь любой исходный код? Но вот как я бы попытаться решить проблему:

  1. Подкласса QRubberBand
  2. Redefine PaintEvent метод
  3. вызова iniStyleOption активировать опции стиля вашего выбора

Надеется, что это помогает!