QListWidgetにテクスチャアセットなどのライブラリがあります。私は、私の場合、MayaのQApplicationにウィジェットのドラッグアンドドロップを有効にしたいと考えています。 dropEventをMayaに接続すると、mayaは何かが削除されたことを登録しますか? 誰かが私を正しい方向に向けることができますか?QWidgetをMayaにドラッグ&ドロップする
0
A
答えて
0
いくつかの深刻な試行錯誤で、私は実際にはかなり正直な解決策を見つけました。そのほとんどがケースです。 主なものは、私のケースのメインアプリでイベントを登録することです。
main_win = mhelper.getQMayaMainWindow()
main_win.installEventFilter(drop_filter)
し、私が呼び出されているイベントをチェックする必要があるイベントフィルタに:
def eventFilter(self, obj, event):
self.obj = obj
if event.type() is event.DragEnter:
self.mouse_button = QtGui.QApplication.mouseButtons()
event.accept()
if event.type() is event.Drop:
library_w = event.source()
if self.mouse_button == QtCore.Qt.LeftButton:
....
0
私はあなたが正しくあなたのMayaのメインウィンドウのイベントをドロップ扱うことができると思いますが、一つのことはありません確信している、あなたはすべてQtWidgetでそれを行うことができます。私の場合は、メインウィンドウでqtを実行しました。
class Droper(QtGui.QMainWindow):
def __init__(self, parent=None):
super(Droper, self).__init__(parent)
self.setAcceptDrops(True) # Very important
def dragEnterEvent(self, event):
"""
The event called when the user drag elements over the drop place
"""
if event.mimeData().hasUrls:
event.accept()
else:
event.ignore()
print "We don't want this !"
def dropEvent(self, event):
"""
The event called when the user drops its elements
Only if dragEnterEvent accept the event
"""
for url in event.mimeData().urls():
print url
あなたのウィジェットでacceptDropsを有効にする必要があります。あなたは直接Qt Designerのプロパティでそれを行うことができます。また、使用するイベントを定義する必要があります。QWidget.dragEnterEventを参照すると、4つのドラッグアンドドロップイベントが表示されます。
あなたのお手伝いをしたいと思っていますが、その実装方法がわからない場合は質問してください。
関連する問題
- 1. GWT-ドラッグ&ドロップ(ドラッグ&ドロップ)レイアウトの質問
- 2. checkedlistboxにドラッグ&ドロップする
- 3. QTでのQWidgetのドラッグ5
- 4. RESTfulサービスをドラッグ&ドロップする
- 5. アップロードプラグインをドラッグ&ドロップする
- 6. カスタムオブジェクトをドラッグ&ドロップする
- 7. JSコンポーネントをドラッグ&ドロップする
- 8. フォルダをドラッグ&ドロップする
- 9. jQueryハイライトボックスにドラッグ&ドロップ
- 10. ドラッグ&ドロップによるHtmlファイルアップロードファイル
- 11. dojotoolkitのドラッグ&ドロップ
- 12. iPhoneのドラッグ/ドロップ
- 13. ドラッグ&ドロップでテキストボックス
- 14. ドラッグ&ドロップでframeLayout
- 15. Dojoドラッグ・アンド・ドロップ
- 16. ドラッグ&ドロップでテキストボックス
- 17. ドラッグ&ドロップ何か
- 18. ドラッグ&ドロップのオプション
- 19. ドラッグ&ドロップ - DataTransferオブジェクト
- 20. WPF HwndHostドラッグ&ドロップ
- 21. JButtonドラッグ&ドロップ
- 22. ドラッグ&ドロップとマウスイベント
- 23. スイングでドラッグ&ドロップ
- 24. ドラッグ&ドロップajaxファイルアップロード
- 25. JTable - ドラッグ&ドロップ
- 26. Winformsフォームにラベルをドラッグ&ドロップする
- 27. JavaFxファイルをファイルにドラッグ&ドロップする
- 28. WebViewにUWPをドラッグ&ドロップする
- 29. リストビューをリストビューにドラッグ&ドロップする(リストボックス)
- 30. AS3ウェブカムにアイテムをドラッグ&ドロップする
私はあなたの質問をはっきりと理解できません。どこでドロップイベントをアクティブにしますか?あなたのQListWidgetまたはMayaのメインウィンドウで? QListWidgetからテクスチャサムネイルをドラッグしてMayaのビューポートにドロップしますか? – DrHaze
はい、私は多くのlistWidgetItems(hdrsなどのサムネイルなど)を持つライブラリウィンドウを持っています。 mayasウィンドウにドラッグアンドドロップすると、ドロップが登録されます。そして、私は機能を実行することができます。 IESのライトプロファイル、HDRライトテクスチャをマヤに落として、適切な接続などで光を生成するという計画です。 – arvidurs