Кажется, есть некорректное значение для столбца типа 0, который не является допустимым внешним ключом, поэтому MySQL не может установить для него ограничение внешнего ключа.
Вы можете выполнить следующие шаги:
Вы должны использовать indexAt()
, если хотите получить QModelIndex, связанный с нажатым элементом, или itemAt()
, возвращенный QTreeWidgetItem
def openMenu(self,position):
menu = QtWidgets.QMenu()
deleteAction = menu.addAction("Delete")
showAction = menu.addAction("Show")
pos = self.treeWidget.viewport().mapToGlobal(position)
action = menu.exec_(pos)
if action == deleteAction:
ix = self.treeWidget.indexAt(position)
if ix.isValid():
print(ix.data())
it = self.treeWidget.itemFromIndex(ix)
texts = [it.text(c) for c in range(it.columnCount())]
print(texts)