我认为qt Python存在问题,无法正确跟踪鼠标提示。问题很简单,我单击并拖动以创建一个框或矩形的轮廓,但是鼠标尖端和轮廓框未对齐。它仅在我使用的Mac上存在问题,但是在Windows或Linux上运行正常。
我有一些代码可以生成一个屏幕进行测试。
import sys
import vtk
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5 import Qt
class QtVtkMouseTest(QWidget):
def __init__(self):
super().__init__()
self.main = Qt.QMainWindow()
self.main.__init__()
self.frame = Qt.QFrame()
self.widget = QVTKRenderWindowInteractor(self.frame)
self.hl = Qt.QHBoxLayout()
self.bl = Qt.QVBoxLayout()
self.hl.addWidget(self.widget)
self.hl.addLayout(self.bl)
self.frame.setLayout(self.hl)
self.main.setCentralWidget(self.frame)
self.main.show()
self._initialize_view()
def _initialize_view(self):
renderer = vtk.vtkRenderer()
renderer.SetBackground((.3, .08, 0))
self.widget.GetRenderWindow().AddRenderer(renderer)
interactor_style = vtk.vtkInteractorStyleRubberBand2D()
interactor = self.widget.GetRenderWindow().GetInteractor()
interactor.SetInteractorStyle(interactor_style)
self.widget.GetRenderWindow().Render()
def cede_to_qt_vtk_mouse_test():
app = QApplication(sys.argv)
gui = QtVtkMouseTest()
sys.exit(app.exec_())
cede_to_qt_vtk_mouse_test()
这将产生一个红色屏幕,当我单击并按住左下角并延伸到右上角时,鼠标尖端和框将不同步。我有一张图片,但要真正看到它,请观看视频。观看鼠标和盒子,它们不同步。这是我要解决的问题。如果您有任何建议,请告诉我。
谢谢
https://www.youtube.com/watch?v=SnMWNfRsUA0
缺少匹配的鼠标提示和位置