Qt,如何在不重新实现绘制函数的情况下取消选定时的虚线矩形?

3
1个回答

4

抱歉,如果您不想要选择矩形,则必须重新实现paint方法。它不使用样式或任何类似的东西。您唯一可以更改的是矩形使用QStyleOptionGraphicsItem ::palette.windowText().color()作为基础颜色。但在此之后...只有绘制实线和虚线。

最好的解决方案确实是重新实现paint。我怀疑您永远不会看到这种修改的性能下降。

我假设您实际上希望保持项目可选择状态。如果您在项目中禁用该标志setFlag(QGraphicsItem::ItemIsSelectable, false),则无法选择该项目,因此不会显示边框。


谢谢 Dave。我现在已经用 C++ 重新实现了绘图(非常简单),但我希望主要使用 Python 来方便打包。当你需要绘制大量项目时,在 Python 中绘制 QGraphicsItems 确实会成为性能问题,而我就是这种情况。 - Nick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接