0
我只是想知道,是否可以在QCanvas上拖動點。例如,我想在畫布上繪製隨機點,並且我希望每個點都可以在畫布中隨處拖動。在Qcanvas上拖動一個點
我只是想知道,是否可以在QCanvas上拖動點。例如,我想在畫布上繪製隨機點,並且我希望每個點都可以在畫布中隨處拖動。在Qcanvas上拖動一個點
我剛剛進入pyqt,雖然我已經使用wxPython和WPF做了一些基於canvas的GUI開發,所以我可以給你整體的方法,但不是pyqt的細節。
你應該能夠
你也許應該指出,當鼠標靠近某個點時,可以抓住一個點,通過在該點周圍繪製一個圓圈;那麼當你拖動這個點時,你實際上將這個圓點拖拽到中間點,這樣就很容易看到點的位置。
您應該也可能會響應ESC鍵按下:如果用戶在移動過程中按下ESC,該點將返回到開始位置並中止操作。
對於pyqt,請看How to draw a line with animation in PyQt4:它在派生自QWidget的類中使用QPainter,這似乎是常見模式,但也有QGraphicsView可以提供更高級別的API。 QCanvas類似乎很古老,似乎需要從您的代碼捕獲鼠標事件的QCanvasView。
如何將畫布連接到鼠標單擊?我真的沒有找到任何插槽來做到這一點。 – erbal