Как задать/получить отображаемые размеры для кнопки |
Здравствуйте, гость ( Вход | Регистрация )
Как задать/получить отображаемые размеры для кнопки |
Sokoloff |
30.8.2010, 17:37
Сообщение
#1
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Пишу своего наследника от QStyledItemDelegate. Понадобилось мне нарисовать кнопки, и столкнулся я с проблемой, при одном и том же заданном rect-е разные темы рисуют кнопки разного размера.
Слева oxigen справа qt-curves, размеры заданны одинаковые. Т.е. curve делает отступы сверху и снизу, вот как можно узнать размеры этих отступов? |
|
|
Litkevich Yuriy |
30.8.2010, 22:15
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Sokoloff |
30.8.2010, 23:57
Сообщение
#3
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
при одном и том же заданном rect-е а ты как этот прямоугольник берёшь? Из QStyleOption?Я его не беру из QStyleOption я его туда задаю Прямоугольник рассчитывается из высоты строки текста, а потом я рисую кнопку. Проблема в том, что высота кнопки это высота серой плашки + тень от кнопки + поля. Так вот последние зависят от темы. И видимая высота кнопки соответственно меняется. Ладно, проблему я не решил, но снял. Тупо использую картинки вместо кнопок, хотя это и не эстетично, зато дешево, надежно и практично. |
|
|
Litkevich Yuriy |
31.8.2010, 7:29
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
вообще этот делегат довольно навёрнутый внутри.
Троли используют для инициализации QStyleOption много разных версий QStyleOptionViewItem* (например, QStyleOptionViewItemV4) в каждой версии видимо свои возможности. И всегда учитывают стиль виджета |
|
|
Текстовая версия | Сейчас: 27.12.2024, 13:37 |