Qt,在不重新实现绘画的情况下删除选择的虚线矩形

标签 qt pyqt selection pyside

我看过这个链接:

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/

相关文章:

c++ - 如何将 void* 转换为 foo* 以符合 C++?

c++ - 在鼠标事件期间更改 QWidget Parent

Qt 5.6 + 多媒体 + gstreamer

mysql - 选择的结果是数组,我想将它用于 "where in"另一个选择

javascript - 浏览器页面中选定文本的坐标

python - PyQt 短信气泡小部件

python - 阴影效果在 QMainWindow 中不起作用

python - 在 PyQt 中清除一个 TableView

python - 更改 qtablewidget 中的颜色(单击)

jquery - 启用单个复选框