Привет, суть такова.
Делаю простой property grid (treeview + модель + делегат). Есть несколько пропертей при взаимодействии с которыми нужно вызывать сторонние диалоги. Например, указание пути к файлу или выбор цвета. Но при вызове этого диалога, я так понимаю, происходит потеря фокуса у виджета созданного через QItemDelegate::createEditor и в модель записывается старое значение.
То есть, код такой:
def createEditor(self, parent, option):
editor = QtGui.QPushButton(parent)
editor.clicked.connect(self.onButtonClicked)
return editor
def setEditorData(self, editor, value):
editor.setText(value)
self.selectedFile = value
def editorData(self, editor):
return self.selectedFile
def onButtonClicked(self):
dialog = QtGui.QFileDialog()
if dialog.exec_() == QtGui.QDialog.Rejected:
return
self.selectedFile = dialog.selectedFiles()[0]
Подскажите куда копать и как делать правильно.