На этом шаге рассмотрим методы определения размеров и координат виджетов.
Виджет представляет собой прямоугольную область (рис. 1).
Рис.1. Виджет в области экрана или предка
Существует целый ряд методов, с помощью которых можно узнать местонахождение виджета и его размеры.
Методы size(), height() и width() возвращают размеры виджета. При этом если вызовы height() и width() вернут значения высоты и ширины целого типа, соответственно, то вызов метода size() вернет объект класса QSize, хранящий ширину и высоту виджета.
Методы x(), y() и pos() служат для определения координат виджета. Первые два метода возвращают целые значения координат по осям X и Y, а метод pos() — объект класса QPoint, хранящий обе координаты.
Метод geometry() возвращает объект класса QRect, описывающий положение и размеры виджета.
Положение виджета можно изменить методом move(), а его размеры — методом resize(). Например:
pwgt->move(5, 5); pwgt->resize(260, 330);
Одновременно изменить и положение, и размеры виджета можно, вызвав метод setGeometry(). Первый параметр этого метода задает координату левого верхнего угла виджета по оси X, второй — по оси Y, третий задает ширину, а четвертый — высоту. Например, следующий вызов эквивалентен двум ранее приведенным вызовам move() и resize():
pwgt->setGeometry(5, 5, 260, 330);
На следующем шаге рассмотрим как можно задать фон виджету.