Как получить родительский виджет для которого вызывался contextMenu ()

Кажется, есть некорректное значение для столбца типа 0, который не является допустимым внешним ключом, поэтому MySQL не может установить для него ограничение внешнего ключа.

Вы можете выполнить следующие шаги:

  1. Отбросьте столбец, который вы пытались установить для ограничения FK.
  2. Добавьте его снова и установите его значение по умолчанию как NULL.
  3. Попробуйте установить ограничение внешнего ключа для это снова.
0
задан eyllanesc 25 March 2019 в 13:56
поделиться

1 ответ

Вы должны использовать 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)
0
ответ дан eyllanesc 25 March 2019 в 13:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: