Russian Qt Forum
Ноябрь 24, 2024, 23:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QRect  (Прочитано 3158 раз)
pakulo
Гость
« : Июль 07, 2007, 14:13 »

Должна ли rect.width()
равняться
rect.right() - rect.left()

может и глупый вопрос, но я не могу понять почему ширина на 1 пиксель больше
Записан
Dendy
Гость
« Ответ #1 : Июль 13, 2007, 22:38 »

А width() на единицу больше потому что прямоугольник под капотом Qt выглядит так:

****
*---*
****

Ширина = 4, а right()-left() = 4-1 = 3. Потому и меньше, что координаты ориентированы на пиксель (целый квадратик), а не на точку (угол квадратика).
« Последнее редактирование: Январь 26, 2008, 17:11 от pastor » Записан
Литий
Гость
« Ответ #2 : Январь 09, 2008, 15:11 »

Дело в том, что есть два подхода, что считать правой границей прямоугольника - по одному из них правая граница в прямоугольник включается, а по другому - нет. Именно поэтому, скажем, right(), bottom() не совпадает с bottomRight()... Вообще использовать эти поля не рекомендуется.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 21.