142 / 20 / 2
Регистрация: 07.01.2016
Сообщений: 230
1

Как узнать координаты виджета относительно всего окна?

04.06.2017, 11:05. Показов 10762. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, хочу узнать координаты виджета относительно всего монитора/окна.
Пробовал узнать координаты QMainWindow и прибавлять координаты виджета который находится в QMainWindow,
но получается, что рамка QMainWindow не считается. Подскажите пожалуйста как это реализовать.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2017, 11:05
Ответы с готовыми решениями:

Как навести мышку на x,y внутри виджета относительно 0,0 виджета (левого верхнего угла виджета)?
Как навести мышку на x,y внутри виджета относительно 0,0 этого виджета (левого верхнего угла...

Узнать координаты окна
Доброй ночи. Каким образом можно узнать координаты главного окна. Привести пример)

Как получить HWND окна (виджета) в Qt для передачи его в DirectX ?
Салют! Есть ли возможность в кьюте получить этот злощастный HWND виндовый для дальнейшего рендера...

Как получить координаты окна в относительно его родительского окна?
А то походу GetWindowRect(Window, &WindowRectangle); относительно экрана получает. А надо...

3
2 / 2 / 1
Регистрация: 20.12.2016
Сообщений: 121
04.06.2017, 12:05 2
Лучший ответ Сообщение было отмечено dpytaylo как решение

Решение

Функции x(), y() и pos() определяют координаты виджета. Первые два метода
возвращают целые значения координат по осям X и Y, а метод pos() — объект класса
QPoint , хранящий обе координаты.
Метод geometry() возвращает объект класса QRect, описывающий положение
и размеры виджета
1
3 / 3 / 0
Регистрация: 17.12.2016
Сообщений: 20
04.06.2017, 16:12 3
Как уже сказали у виджета есть метод geometry(), который возвращает объект типа QRect.
А для того, что бы узнать размер всего монитора можно сделать следующим образом:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <QApplication>
#include <QDesktopWidget>
#include <QRect>
 
void SomeClass::SomeMethod(){
 
 int x = 0;
 int y = 0;
 
 int screen_width = QApplication::desktop()->width();
 int screen_height = QApplication::desktop()->height();
 
 QRect new_rect(x, y, screen_width, screen_height);
 
}
И вот у вас есть готовый объект, содержащий размеры монитора )
2
142 / 20 / 2
Регистрация: 07.01.2016
Сообщений: 230
05.06.2017, 19:48  [ТС] 4
Всем спасибо! Помогли!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2017, 19:48
Помогаю со студенческими работами здесь

Как узнать координаты курсора мыши относительно формы?
Как узнать координаты курсора мыши? Добавлено через 35 минут относительно окна нужно

Как получить координаты окна относительно одного монитора?
как получить координаты окна относительно одного монитора в многомониторной винде? GetWindowRect...

Как определить координаты положения курсора относительно стороннего окна
как определить коодинаты относительно окна(не формы) 1. Не предлогать вычислять относительные...

Как получить координаты курсора относительно моего окна, а не рабочего стола?
Всем доброго времени суток!Я хотел у вас спросить , как получить координаты курсора относительно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru