2016-04-13 25 views
0

Merhaba Bir dosyayı (resim) PySide ile gui'm içine sürüklemek istiyorum, ancak işe yaramayabilirim. DropEvent İşlevine giremiyorum. İçine sürüklemeye çalıştığım nesnem bir QGraphicsView olduğundan, süzgeç tüm GUI'yi ele geçiremez çünkü iki görüntüyü içine sürüklemek istiyorum.PySide kullanarak bir dosyayı bir kılavuza sürükleyin

class Consumer(QMainWindow, Ui_MainWindow, QComboBox, QtGui.QWidget): 


    def __init__(self, parent=None): 
     self.paylod = None 
     super(Consumer, self).__init__(parent) 
     self.setupUi(self) 
     self.chkApplyCompression.stateChanged.connect(self.makecompress) 
     self.viewCarrier1.setMouseTracking(True) 
     self.viewCarrier1.installEventFilter(self) 
     layout = QtGui.QVBoxLayout(self) 
     layout.addWidget(self.viewCarrier1) 

    def eventFilter(self, source, event): 
     if (event.type() == QtCore.QEvent.QDropEvent and 
      print('yay?') 
     return QtGui.QWidget.eventFilter(self, source, event) 





    def dropEvent(self, e): 
     print("yay") 

    def dragEnterEvent(self, *args, **kwargs): 
     print("Yay!!") 





if __name__ == "__main__": 
    currentApp = QtGui.QApplication(sys.argv) 
    currentForm = Consumer() 
    currentForm.show() 
    currentApp.exec_() 

Teşekkür

Sen Qt bir sonraki damla etkinliği işleyecek önce sürükleme olayı girmek kabul etmeleri gerekir

cevap

1

:

def dragEnterEvent(self, event): 
    event.accept() 
İlgili konular