Pyslvs 編譯進度:
-
拖放檔案開啟功能
-
反轉 Y 軸初始位置功能
Pyslvs 編譯進度
拖放檔案開啟功能
參考資料:
http://doc.qt.io/qt-5/dnd.html
可以透過 Qt 的拉入事件「dragEnterEvent」和拖放事件「dropEvent」達成。
這次只有讓外部資訊拖入,若要讓內部資訊脫出需要其他設置,不過這個功能或許會應用到其他部份,所以先作筆記。
當 QWidget 設定允許拖放動作 setAcceptDrops(true)
後,就能使用滑鼠攜帶資訊,滑鼠游標會變成拖放樣式而非禁止符號。
透過拉入事件「dragEnterEvent」可以允許「哪些資訊」可以被拖入,如字串、圖片、網址和檔案位址。
拖放事件「dropEvent」可以設定拖入後要執行的動作。
def dragEnterEvent(self, event): mimeData = event.mimeData() if mimeData.hasUrls(): for url in mimeData.urls(): FilePath = url.toLocalFile() if QFileInfo(FilePath).suffix()=="csv": event.acceptProposedAction() def dropEvent(self, event): FilePath = event.mimeData().urls()[-1].toLocalFile() self.checkChange(FilePath, [], "Loaded drag-in file:\n"+FilePath) event.acceptProposedAction()
上面的 dragEnterEvent 先判斷 QEvent 的攜帶資訊 mimeData 是否為副檔名「csv」的 URL,接著才會通過檢查(acceptProposedAction()
)。
後面的 dropEvent 則是取出想要的檔案位址並開啟,若是一次選取多個檔案則只開啟最後一個。
反轉 Y 軸初始位置功能
在選定的連桿上按下滑鼠右鍵可以根據固定軸反轉 Y 軸座標的初始位置,若是沒有固定軸,就反轉終點的。
以下是反轉之後重繪的路徑圖。
透過這個功能能夠手動修正初始位置,不過若是能夠自動檢查並修正會比較好。
過幾天應該能開始寫開發手冊。
Comments
comments powered by Disqus