QListWidget'ta doku varlıkları vb. Içeren bir kitaplığım var. Benim durumumda, widget'ların sürükle ve bırak özelliğini bir QApplication'a etkinleştirmek istiyorum. dropEvent öğesini Maya ile nasıl bağlarım yani maya bir şeylerin düştüğünü kaydeder? Birisi bana doğru yönde işaret edebilir mi lütfen.QWidget'i Maya'ya sürükleyip bırakın
0
A
cevap
0
Bazı ciddi deneme ve hata ile aslında oldukça düz olan bir çözüm buldum, çünkü çoğunlukla bu durumda ... Yani asıl mesele, olayımı ana uygulamamla maya olarak kaydetmektir.
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
Ben doğru bir şekilde maya ana penceresinde olay damla işleyebilir sanmıyorum, ama bir şey:
main_win = mhelper.getQMayaMainWindow()
main_win.installEventFilter(drop_filter)
ardından olay filtresinde ben çağrıldığını hangi olay kontrol etmeliyiz emin, her QtWidget üzerinde yapabilirsiniz. Benim durumumda, qt ana penceremde yaptım.
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
Widget'ınızda acceptDrop'leri etkinleştirmeniz gerekiyorsa, bunu doğrudan Qt Designer'daki özelliklerinde yapabilirsiniz. Ayrıca, kullanmak istediğiniz olayları tanımlamanız gerekir, 4 sürükle ve bırak olayını görmek için QWidget.dragEnterEvent'a gidin.
Bunu nasıl yapacağınızı anlamıyorsanız, yardımcı olmanızı umarız.
İlgili konular
- 1. Bulucudan WebView'a sürükleyip bırakın
- 2. Örneği sürükleyip bırakın?
- 3. Boşlukları sürükleyip bırakın ve konum
- 4. Bir div'i diğerine sürükleyip bırakın
- 5. Katıştırılmış SVG'deki etkinlikleri sürükleyip bırakın?
- 6. Görüntü wpf uygulamasında sürükleyip bırakın
- 7. IOS kaydırma görünümleri arasında sürükleyip bırakın
- 8. WPF dosyaları Windows Gezgini'nden TreeView'e sürükleyip bırakın
- 9. Kakao: Herhangi bir dosya türünü sürükleyip bırakın
- 10. Resim yüklemesini sürükleyip bırakın, köşeli 4
- 11. Öğeleri düzenle sürükleyip bırakın Java Swing
- 12. İçeriği sürükleyip bırakın. Firefox'taki DIVEL DIVAR
- 13. PyQT4: Dosyaları QListWidget içine sürükleyip bırakın
- 14. Görüntüyü tarayıcıdan WPF Uygulaması'na sürükleyip bırakın
- 15. nstableview Özel hücre görünümleriyle sürükleyip bırakın
- 16. Nesneleri sürükleyip bırakın ve orijinal konumlarına geri döndürün
- 17. Windows formlarını masaüstüne ve windows explorer'a sürükleyip bırakın
- 18. MS Outlook'tan Eclipse'e bir e-posta sürükleyip bırakın RCP
- 19. Javascript - sürükleyin ve bırakın kaynak bırakın
- 20. kineticjs dom'dan tuvale resim sürükleyin ve bırakın
- 21. Görünümden bir Silverlight uygulamasına sürükleyin ve bırakın
- 22. WPF, bir ListBox'a sahip olan bir ListBox'tan sürükleyip bırakın SelectionMode = Genişletilmiş
- 23. iOS - Sürüklenme algılamayı sürükleyip bırakın Seçilen öğenin başka bir alt görünüme geçtiği zaman nasıl algılanır?
- 24. Jquery Konum tahribatına sürükleyin ve bırakın
- 25. metin kutusuna sürükleyip bırakma
- 26. Poltergeist'i kullanarak nasıl sürükleyip bırakabilirim?
- 27. Sürükleyip bırakılan dinamik kılavuz Bootstrap
- 28. Jquery UI oluncaya kadar sürükleyin ve bırakın işinizi bırakın
- 29. Susturulduğunda rtp göndermeyi bırakın
- 30. devre dışı bırakın ızgara
Sorunuzu açıkça anladığınızdan emin değilim. Bırak etkinliğini nerede etkinleştirmek istiyorsunuz? QListWidget'inizde veya Maya'nın ana penceresinde mi? Doku minik resimlerini QListWidget'inizden sürükleyip Maya'nın manzarasında bırakmak ister misiniz? – DrHaze
Evet, çok sayıda listWidgetItems (hdrs vb. Küçük resimler vb.) Içeren bir kütüphane pencerem var. Maya penceresine sürükleyip bırakmak istiyorum; Ve bir fonksiyon çalıştırabilirim. Plan düşmeye ve IES ışık profiline ya da HDR ışık dokusuna maya haline getirilir ve bu da uygun bağlantılar vb. Ile ışık oluşturur. – arvidurs