Python Qt неправильно отслеживает мой совет мыши - PullRequest
0 голосов
/ 26 февраля 2019

У меня проблема с, я думаю, 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

несоответствующий кончик мыши и местоположение

...