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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Существуют ли подобные параметры BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HEIGHT в Qt  (Прочитано 4742 раз)
billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« : Февраль 26, 2015, 10:38 »

Здравствуйте. В некоторых средах разработки существует возможность задавать для виджета BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HEIGHT.
Существуют ли подобные параметры и у виджета в Qt? И как задавать им конкретные значения?

К примеру вот так я это делаю для кнопки в Photon Application Builder.
Код:
int bevel = 6;             // BEVEL_WIDTH
int margin_w = 10;      // MARGIN_WIDTH
int margin_h = 10;      // MARGIN_HEIGHT

// ABW_but1 указатель на кнопку
PtSetResource(ABW_but1, Pt_ARG_BEVEL_WIDTH, bevel, 0);
PtSetResource(ABW_but1, Pt_ARG_MARGIN_WIDTH, margin_w, 0);
PtSetResource(ABW_but1, Pt_ARG_MARGIN_HEIGHT, margin_h, 0);
Ниже я прицепил рисунок, чтобы наглядно увидет, то что произойдет с кнопкой.


Записан
billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« Ответ #1 : Февраль 26, 2015, 13:48 »

Знаю в CSS тоже подобное можно делать. Может это есть и в QSS? но как-то это не очень удобно использовать для этих целей QSS, должны же быть в Qt стандартные методы для решения этой задачи, раз уж его так продвигают.  
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #2 : Февраль 26, 2015, 14:09 »

стандартными методами C++ такого не сделать, Если только не перекрывать paintEvent() у стандартных контролов и рисовать их самостоятельно, что есть гемор. В QSS такое можно только отдалённо.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #3 : Февраль 26, 2015, 15:23 »

ооо знакомый код для фотона под qnx ))
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #4 : Февраль 27, 2015, 18:46 »

Я думаю с помощью QStyle можно такое решить. Т.е. сделать свой стиль и установить его для приложения.

Про стили в документации по Qt4 на русском, в документации по Qt5 на английском
К стати есть такие "конструктивные" элементы - QStyle::CE_PushButtonBevel и QStyle::PM_ButtonMargin
« Последнее редактирование: Февраль 27, 2015, 18:49 от lit-uriy » Записан

Юра.
billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« Ответ #5 : Март 02, 2015, 09:07 »

Я думаю с помощью QStyle можно такое решить. Т.е. сделать свой стиль и установить его для приложения.

Про стили в документации по Qt4 на русском, в документации по Qt5 на английском
К стати есть такие "конструктивные" элементы - QStyle::CE_PushButtonBevel и QStyle::PM_ButtonMargin
большое спасибо за информацию) напишу, если что-то выйдет.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #6 : Март 02, 2015, 09:57 »

Может поможет

Книга Макс Шлее
Записан
billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« Ответ #7 : Март 02, 2015, 10:11 »

__Heaven__, спасибо) сейчас попробуем.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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