Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
borune |
10.10.2014, 6:03
Сообщение
#11
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(Trisch @ 9.10.2014, 18:28) Link Если задавать стиль по идентификатору, то стиль задается только виджетам с данным идентификатором, ну насколько я знаю В общем попробуй, если не то, будем дальше думать. так пробовал ж уже: Цитата(borune @ 7.10.2014, 16:25) Link Читаю еще, пробую задать свойства через имя объекта: Цитата( @ 9.10.2014, 19:37) Link Цитата а если у меня дочерних 50 штук, для каждого такое городить? Не для каждого, а только для тех, которые непосредственно вложены в MainWindow. ну т.е. для тех, у кого parent равен моему мейнвиджету..у меня таких много, как вариант решения подойти должен, но, я думаю, никто не будет спорить, что решение не самое красивое, хочется чего-то более изящного может можно как-то запретить виджетам наследовать палитру родителя? Сообщение отредактировал borune - 10.10.2014, 6:09 |
|
|
|
|
Trisch |
10.10.2014, 13:23
Сообщение
#12
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
Цитата(borune @ 10.10.2014, 6:03) Link так пробовал ж уже: Цитата(borune @ 7.10.2014, 16:25) * Читаю еще, пробую задать свойства через имя объекта: int main(int argc, char **argv) { QApplication app(argc, argv); ... MainWindow mainWin; mainWin.setObjectName("main"); app.setStyleSheet("QMainWindow#main { background: green}"); ... } Центральный виджет в QMainWindow называется centralwidget, если вы его не переименовали явно. задается ему цвет вот так: Еще раз повторюсь, QMainWindow это составной виджет, в стилях используется только для задания стиля перегородкам. Для остальных случаев, используйте в настройках стилей название виджетов стили которых хотите изменить QWidget, QMenuBar, QToolBar и тд. Сообщение отредактировал Trisch - 10.10.2014, 13:24 |
|
|
|
|
lanz |
10.10.2014, 18:34
Сообщение
#13
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Цитата может можно как-то запретить виджетам наследовать палитру родителя? Нет, если это не окно: Цитата QWidget propagates explicit palette roles from parent to child. If you assign a brush or color to a specific role on a palette and assign that palette to a widget, that role will propagate to all the widget's children, overriding any system defaults for that role. Note that palettes by default don't propagate to windows (see isWindow()) unless the Qt::WA_WindowPropagation attribute is enabled. Цитата ну т.е. для тех, у кого parent равен моему мейнвиджету..у меня таких много, как вариант решения подойти должен, Можно просто перебрать всех детей, через QObject::children(), только надо проверять что они виджеты. Цитата но, я думаю, никто не будет спорить, что решение не самое красивое, хочется чего-то более изящного Вам шашечки или ехать? |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 2.1.2026, 13:49 |