MyTetra Share
Делитесь знаниями!
О, смотри-ка какое хорошее место. Дайте два!
Qt: абсолютные экранные координаты виджета и их преобразование
27.06.2016
20:23
Раздел: Компьютер - Программирование - Язык C++ - Библиотека Qt - Принципы написания кода

В Qt множество событий генерируют абсолютные экранные координаты. Например, при обработке жестов можно получить только экранные координаты.


Как быстро перевести эти координаты в координаты относительно виджета, по которому был сделан клик или жест?


Можно воспользоваться методом mapFromGlobal() класса QWidget (от которого наследованы практически все экранные элементы)



// Абсолютные (т. е. экранные) координаты жеста TapAndHoldGesture

QPoint touchPos=gesture->position().toPoint();


// Координаты в виджете, где было сделано длительное нажатие

QPoint widgetPos=mapFromGlobal(touchPos)


emit tapAndHoldGestureFinished( widgetPos );



Так же в Qt есть и обратное преобразование из координат виджета в абсолютные экранные координаты:


mapToGlobal().



Так же в этом разделе:
← Содержание ...
 
MyTetra Share v.0.35
Яндекс индекс цитирования