CommandLinkButton и StyleSheet, фоновая картинка |
Здравствуйте, гость ( Вход | Регистрация )
CommandLinkButton и StyleSheet, фоновая картинка |
PunX |
10.4.2010, 12:46
Сообщение
#1
|
Студент Группа: Участник Сообщений: 56 Регистрация: 12.4.2009 Из: Димитровград Пользователь №: 676 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте, в качестве кнопки иконки хочу взять CommandLinkButton, редактирую StyleSheet следующим образом:
но картинка на фоне не появляется. Файл картинки разложил куда только мог. |
|
|
pelican |
20.5.2010, 19:25
Сообщение
#2
|
Студент Группа: Участник Сообщений: 15 Регистрация: 31.8.2009 Из: Россия, г. Кострома. Пользователь №: 1038 Спасибо сказали: 0 раз(а) Репутация: 0 |
Кхм... Ну, как дела? Если вопрос еще висит, попробуй, например, так:
|
|
|
Алексей1153 |
1.1.2011, 19:41
Сообщение
#3
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Подскажите, как для кнопки называется элемент, который задаёт стиль пунктирной рамочки, что появляется, когда кнопка в фокусе
Вообще, где-нибудь есть подробный справочник по всем элементам стилей всех GUI-классов Qt ? Сообщение отредактировал Алексей1153 - 1.1.2011, 20:48 |
|
|
Litkevich Yuriy |
1.1.2011, 22:27
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Алексей1153 |
2.1.2011, 1:22
Сообщение
#5
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
спасибо, щас пороюсь. Но, чувствую, вопросов будет море ))
http://doc.crossplatform.ru/qt/4.7.x/stylesheet.html попалось на глаза: Цитата Когда таблица стилей активна, вызов QStyle вернёт QWidget::style() наоборот же ) http://doc.crossplatform.ru/qt/4.7.x/stylesheet-syntax.html >>Выравнивание выпадающего списка внутри прямоугольника полей изменяется используя свойство subcontrol-position прям резануло по глазам Сообщение отредактировал Алексей1153 - 2.1.2011, 12:46 |
|
|
Алексей1153 |
2.1.2011, 19:23
Сообщение
#6
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
пунктирной рамочки, что появляется, когда кнопка в фокусе так я и не разобрался с ней. Выяснил только, что цвет меняется (с дефолтного чёрного на белый) при задании градиента фона - любого, к примеру background-color:(spread: xq:0.0, y1:0.0, x2:0.0, y2:1.0, stop:0.5 #555555, stop:0.0 #aaaaaa) (сам градиент кнопки отображается нормально) Сообщение отредактировал Алексей1153 - 2.1.2011, 19:23 |
|
|
Алексей1153 |
8.1.2011, 22:23
Сообщение
#7
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
непонятный cпецэффект:
имеется некий стиль QString Style; по кнопке делаю переключение МойСтиль<->ДефолтныйСтиль
тут всё ок. но только для элементов, которые созданы через встроенный в креатор редактор форм. Если элемент из плагина был положен на форму в утилите-дизайнере, то такое "общее" отключение стиля не работает для этого элемента - он остаётся разукрашен. Если же сделать "личное" отключение
то дефолтный стиль включается. При всём при этом "общее" ВКЛЮЧЕНИЕ своего стиля работает как надо В ui_CMainWindow.h контролы, объявленные из встроенного редактора и из дизайнера, имеют совершенно одинаковый код, никак не могу понять, в чём разница в поведении ? |
|
|
Алексей1153 |
12.1.2011, 1:29
Сообщение
#8
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
ну а всё-таки. Кто сможет ответить на последние два поста ?
|
|
|
Litkevich Yuriy |
12.1.2011, 1:45
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
В ui_CMainWindow.h контролы, объявленные из встроенного редактора и из дизайнера, имеют совершенно одинаковый код, никак не могу понять, в чём разница в поведении ? а если провести эксперимент - Если элемент из плагина был положен на форму в утилите-дизайнере, то такое "общее" отключение стиля не работает для этого элемента открыть в строенным в кратор дизайнером файл Qt Designer'а и сохранить, а потом скомпилировать?
|
|
|
igor_bogomolov |
12.1.2011, 9:42
Сообщение
#10
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
так я и не разобрался с ней. Выяснил только, что цвет меняется (с дефолтного чёрного на белый) при задании градиента фона - любого, к примеру Сам фокус - это PE_FrameFocusRect. За его отрисовку отвечает функция QStyle::drawPrimitive. Как этот фокус будет отрисован зависит от текущего стиля. Где то его вообще не будет.В Windows для его отрисовки используется инвертированный BackgroundColorbackground-color:(spread: xq:0.0, y1:0.0, x2:0.0, y2:1.0, stop:0.5 #555555, stop:0.0 #aaaaaa) (сам градиент кнопки отображается нормально) кусок исходников для понимания
Изменить цвет фокуса в Windows с помощью css можно используя свойство background-color (цвет фокуса будет инвертирован). Но это изменит не только цвет рамки фокуса. Дальше зависит от задачи и от предпочтений. Если нужно чтобы фокус не отображался, устанавливаем для виджета focusPolicy равным NoFocus. Либо наследуемся и отрисовываем кнопочку руками, игнорируя фокус (или задав нужный цвет). Еще вариант - создать собственный стиль. |
|
|
Текстовая версия | Сейчас: 1.12.2024, 22:52 |