LINUX.ORG.RU

qml узнать координаты объекта относительно родителя

 


0

2

Здравствуйте, есть TableViewColumn со своим делегатом. У каждого определенного столбца есть своя MouseArea. Как в этой MouseArea в onClick получить координаты клика относительно TableViewColumn ?

TableViewColumn {
            id: nameColumn
            role: "name"
            delegate: myDelegate {
                Text {
                    text: styleData.value
                }

                MouseArea {
                    anchors.fill: parent
                    acceptedButtons: Qt.LeftButton

                    onClicked: {
                        //тут получить координаты
                        }
                    }
                    
                             
                }
            }
        }



Последнее исправление: user0229 (всего исправлений: 1)

Ответ на: комментарий от user0228

Тогда наверное лови клик глобально и передавай сигналом конкретной ячейке уже прямо с координатами

Pavval ★★★★★
()

ИМХО стоит определять абсолютное положение делегата и добавлять к нему положение мыши.

Можно так:

function getAbsolutePosition(node) {
      var returnPos = {};
      returnPos.x = node.x;
      returnPos.y = node.y;
      var p = n.parent;
      while(p) {
          returnPos.x += p.x;
          returnPos.y += p.y;
          p = p.parent;
      }
      return returnPos;
  }

 ...onClick: {
      var pos = getAbsolutePosition(parent);
      process(mouseX+pos.x, mouseY+pos.y);
    }

http://stackoverflow.com/questions/19392163/qml-mouse-aboslute-position-in-mo...

В коде выше я просто развернул рекурсию.

robus ★★★★★
()
Ответ на: комментарий от Pavval

Жесть. Таблица ведь ещё и скролится может.

robus ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.