У меня проблема с, я думаю, 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
несоответствующий кончик мыши и местоположение