Russian Qt Forum

Qt => Вопросы новичков => Тема начата: billy4685 от Февраль 26, 2015, 10:38



Название: Существуют ли подобные параметры BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HEIGHT в Qt
Отправлено: billy4685 от Февраль 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);
Ниже я прицепил рисунок, чтобы наглядно увидет, то что произойдет с кнопкой.




Название: Re: Существуют ли подобные параметры BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HEIGHT в Qt
Отправлено: billy4685 от Февраль 26, 2015, 13:48
Знаю в CSS тоже подобное можно делать. Может это есть и в QSS? но как-то это не очень удобно использовать для этих целей QSS, должны же быть в Qt стандартные методы для решения этой задачи, раз уж его так продвигают.  


Название: Re: Существуют ли подобные параметры BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HEIGHT в Qt
Отправлено: Alex Custov от Февраль 26, 2015, 14:09
стандартными методами C++ такого не сделать, Если только не перекрывать paintEvent() у стандартных контролов и рисовать их самостоятельно, что есть гемор. В QSS такое можно только отдалённо.


Название: Re: Существуют ли подобные параметры BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HEIGHT в Qt
Отправлено: Fregloin от Февраль 26, 2015, 15:23
ооо знакомый код для фотона под qnx ))


Название: Re: Существуют ли подобные параметры BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HEIGHT в Qt
Отправлено: lit-uriy от Февраль 27, 2015, 18:46
Я думаю с помощью QStyle можно такое решить. Т.е. сделать свой стиль и установить его для приложения.

Про стили в документации по Qt4 на русском (http://www.doc.crossplatform.ru/qt/4.8.x/html-qt/style-reference.html), в документации по Qt5 на английском (http://doc.qt.io/qt-5/style-reference.html)
К стати есть такие "конструктивные" элементы - QStyle::CE_PushButtonBevel и QStyle::PM_ButtonMargin


Название: Re: Существуют ли подобные параметры BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HEIGHT в Qt
Отправлено: billy4685 от Март 02, 2015, 09:07
Я думаю с помощью QStyle можно такое решить. Т.е. сделать свой стиль и установить его для приложения.

Про стили в документации по Qt4 на русском (http://www.doc.crossplatform.ru/qt/4.8.x/html-qt/style-reference.html), в документации по Qt5 на английском (http://doc.qt.io/qt-5/style-reference.html)
К стати есть такие "конструктивные" элементы - QStyle::CE_PushButtonBevel и QStyle::PM_ButtonMargin
большое спасибо за информацию) напишу, если что-то выйдет.


Название: Re: Существуют ли подобные параметры BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HEIGHT в Qt
Отправлено: __Heaven__ от Март 02, 2015, 09:57
Может поможет
(http://i10.pixs.ru/storage/8/9/2/SHleeMProf_1139868_16277892.png)
Книга Макс Шлее


Название: Re: Существуют ли подобные параметры BEVEL_WIDTH, MARGIN_WIDTH и MARGIN_HE
Отправлено: billy4685 от Март 02, 2015, 10:11
__Heaven__, спасибо) сейчас попробуем.