Qt, удалите пунктирный прямоугольник на выделении без переопределения краски - PullRequest
2 голосов
/ 22 августа 2011

Я видел эту ссылку:

http://www.qtcentre.org/threads/15089-QGraphicsView-change-selected-rectangle-style

из этого поста:

QT 4.5 - Изменение области выделения для QGraphicsItem

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

1 Ответ

3 голосов
/ 22 августа 2011

Извините, если вы не хотите выделять прямоугольник, вам придется переопределить метод рисования.Он не использует стили или что-то в этом роде. only вещь, которую вы можете изменить, заключается в том, что прямоугольник использует QStyleOptionGraphicsItem :: palette.windowText (). Color () в качестве основного цвета.Но после этого ... только сплошная линия, а затем пунктирная линия.

Наилучшим решением на самом деле будет переопределение краски.Я сомневаюсь, что вы когда-нибудь увидите снижение производительности от этой модификации.

Я предполагаю, что вы действительно хотите, чтобы ваши элементы выбирались.Если вы отключите этот флаг на вашем элементе setFlag(QGraphicsItem::ItemIsSelectable, false), он не сможет быть выбран и, следовательно, не будет отображать границу.

...