Есть главное окно приложения, внутри которого, кроме всего прочего, находится QTableWidget. Нужно сделать возможность скопировать содержимое item'а в буфер обмена. Проблема в том, что для корректного вычисления item'а на котором кликнул юзер, мне нужно получить координаты курсора (QPoint) относительно QTableWidget, а не относительно родительского виджета, которые выдает мне event.pos().
Вот код контекстного меню:
def contextMenuEvent(self, event): Rmenu = QMenu(self) CopyToClipboardAction = Rmenu.addAction("Copy content of the cell to clipboard") action = Rmenu.exec_(self.mapToGlobal(event.pos())) if action == CopyToClipboardAction: row = self.tableWidget.rowAt(event.pos().y()) col = self.tableWidget.columnAt(event.pos().x()) print("row:%d, col:%d" % (row, col))
Проблема состоит в том, что event.pos().x() и event.pos().y() выдают координаты относительно левого верхнего угла родительского виджета из-за чего row и column (rowAt, columnAt, itemAt) определяются неверно.
Как решить эту проблему и получить координаты относительно QTableWidget? Подскажите, пожалуйста. Спасибо заранее!!!