我看过这个链接:
http://www.qtcentre.org/threads/15089-QGraphicsView-change-selected-rectangle-style
来自这篇文章:
QT 4.5 - Changing the selection marquee for QGraphicsItem
但我想知道是否还有其他选项可以在不重新实现绘画的情况下去除虚线矩形。这很重要,因此我可以保持 PyQt 和 PySide 例程的快速绘制,但仍具有我想要的外观。
最佳答案
抱歉,如果您不想要选择矩形,您将不得不重新实现 paint 方法。它没有使用样式或类似的东西。 唯一您可以更改的是矩形使用 QStyleOptionGraphicsItem::palette.windowText().color() 作为基础颜色。但在那之后……只画了一条实线,然后画了一条虚线。
最好的解决方案确实是重新实现绘画。我怀疑您是否会看到此修改对性能造成的影响。
我假设您确实想让您的项目可选择。如果您在项目 setFlag(QGraphicsItem::ItemIsSelectable, false)
上禁用该标志,那么它将无法被选中,因此不会显示边框。
关于Qt,在不重新实现绘画的情况下删除选择的虚线矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7148442/