Название: QLabel и внутренние границы Отправлено: Alp от Сентябрь 15, 2009, 22:36 Закончил работу начатую в теме про QRect для слова на QLabel (http://www.prog.org.ru/topic_10597_0.html), осталась одна проблема: на прикладываемом рисунке текст в QLabel рисуется не с самого края (выравнивание стоит по левому краю), а откуда-то берется промежуток в 4-5 пикселов. ПРи этом indent/margin/contentMargin для самого QLabel возвращают 0, соответствующие методы для QFrame так же возвращают 0 или 1(для ширины рамки).
Что это за паддинг и где его можно взять? Название: Re: QLabel и внутренние границы Отправлено: UVV от Сентябрь 16, 2009, 11:42 Я так понял, что это класс, унаследованный от QLabel, так?
А текст как рисуется? Название: Re: QLabel и внутренние границы Отправлено: Alp от Сентябрь 16, 2009, 12:35 Текст рисуется вызовом QLabel::paintEvent(event);
Т.е. я в своем обработчике рисовалки только прямоугольники дорисовываю, остальное - забота самого QLabel. Название: Re: QLabel и внутренние границы Отправлено: UVV от Сентябрь 16, 2009, 12:36 А, значит тебе правильное смещение текста надо посчитать?
Название: Re: QLabel и внутренние границы Отправлено: Alp от Сентябрь 16, 2009, 13:54 Именно. Дело даже не столько в том, что бы "посчитать", сколько в том, что бы понять почему и на какое расстояние он смещается. Если все внутренние отстуупы нулевые, ширина рамки нулевая то почему же текст пишется не с самого края виджета?
Название: Re: QLabel и внутренние границы Отправлено: UVV от Сентябрь 16, 2009, 16:27 Я могу предположить, что дело в стиле. У меня была такая же ситуация с текстом в tableView.
Мне помогло чтение исходников qitemdelegate.cpp. Попробуй по аналогии поизучать qlabel.cpp, чтобы узнать, как оно вырисовывается. |