我想创建一个可调整大小的选择工具来用鼠标选择图像的一部分。 我想用 QT 来完成这个,我有一个工作的 QRubberBand 来创建一个基本的选择。
下一步是使该选择可以用鼠标调整大小。 因此,如果您单击并拖动一个角,大小会相应地发生变化,如果您在选区内单击并拖动,它应该会移动选区。
现在我的想法是子类化 QRubberBand 并覆盖 paintEvent 方法以在每个角上绘制一个大点并在这些点上执行鼠标事件。 但我想知道是否有人有更聪明/更好的方法来做到这一点?
我想听听一些关于此的想法。 提前致谢。
最佳答案
我以前做过类似的事情。我使用 QGraphicsView 而不是 QWidget,这使得开发更加容易。我使用 QGraphicsItem 作为“橡皮筋”。 QGraphicsView 已经处理了很多用户交互,所以我不必费心重新实现 QWidget::mouseMove() 事件等。而且由于 QGraphicsView 优化,性能比 QWidget 快得多。
希望对你有帮助
关于c++ - QT可调整大小的橡皮筋,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5729193/