![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
PunX |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 12.4.2009 Из: Димитровград Пользователь №: 676 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте, в качестве кнопки иконки хочу взять CommandLinkButton, редактирую StyleSheet следующим образом:
но картинка на фоне не появляется. Файл картинки разложил куда только мог. |
|
|
![]() |
pelican |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 15 Регистрация: 31.8.2009 Из: Россия, г. Кострома. Пользователь №: 1038 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Кхм... Ну, как дела? Если вопрос еще висит, попробуй, например, так:
|
|
|
Алексей1153 |
![]()
Сообщение
#3
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Подскажите, как для кнопки называется элемент, который задаёт стиль пунктирной рамочки, что появляется, когда кнопка в фокусе
Вообще, где-нибудь есть подробный справочник по всем элементам стилей всех GUI-классов Qt ? Сообщение отредактировал Алексей1153 - 1.1.2011, 20:48 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Алексей1153 |
![]()
Сообщение
#5
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
спасибо, щас пороюсь. Но, чувствую, вопросов будет море ))
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 |
![]()
Сообщение
#6
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
пунктирной рамочки, что появляется, когда кнопка в фокусе так я и не разобрался с ней. Выяснил только, что цвет меняется (с дефолтного чёрного на белый) при задании градиента фона - любого, к примеру 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 |
![]()
Сообщение
#7
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
непонятный cпецэффект:
имеется некий стиль QString Style; по кнопке делаю переключение МойСтиль<->ДефолтныйСтиль
тут всё ок. но только для элементов, которые созданы через встроенный в креатор редактор форм. Если элемент из плагина был положен на форму в утилите-дизайнере, то такое "общее" отключение стиля не работает для этого элемента - он остаётся разукрашен. Если же сделать "личное" отключение
то дефолтный стиль включается. При всём при этом "общее" ВКЛЮЧЕНИЕ своего стиля работает как надо В ui_CMainWindow.h контролы, объявленные из встроенного редактора и из дизайнера, имеют совершенно одинаковый код, никак не могу понять, в чём разница в поведении ? |
|
|
Алексей1153 |
![]()
Сообщение
#8
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
ну а всё-таки. Кто сможет ответить на последние два поста ?
![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#9
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
В ui_CMainWindow.h контролы, объявленные из встроенного редактора и из дизайнера, имеют совершенно одинаковый код, никак не могу понять, в чём разница в поведении ? а если провести эксперимент - Если элемент из плагина был положен на форму в утилите-дизайнере, то такое "общее" отключение стиля не работает для этого элемента открыть в строенным в кратор дизайнером файл Qt Designer'а и сохранить, а потом скомпилировать?
|
|
|
igor_bogomolov |
![]()
Сообщение
#10
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
так я и не разобрался с ней. Выяснил только, что цвет меняется (с дефолтного чёрного на белый) при задании градиента фона - любого, к примеру Сам фокус - это 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. Либо наследуемся и отрисовываем кнопочку руками, игнорируя фокус (или задав нужный цвет). Еще вариант - создать собственный стиль. |
|
|
Алексей1153 |
![]()
Сообщение
#11
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
открыть в строенным в кратор дизайнером файл Qt Designer'а и сохранить, а потом скомпилировать? неа, не проканало... Изменить цвет фокуса в Windows с помощью css можно используя свойство background-color (цвет фокуса будет инвертирован). Но это изменит не только цвет рамки фокуса. Дальше зависит от задачи и от предпочтений. Если нужно чтобы фокус не отображался, устанавливаем для виджета focusPolicy равным NoFocus. Либо наследуемся и отрисовываем кнопочку руками, игнорируя фокус (или задав нужный цвет). Еще вариант - создать собственный стиль. понятно. Будем творить )) |
|
|
Алексей1153 |
![]()
Сообщение
#12
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
пост #7 - победил. Дело было в том, что в конструкторе класса контрола задавался стиль X. Поэтому он не перекрывался стилем (тоже X, либо дефолтный), который задан диалогу в его, диалога, конструкторе. Вылечил так:
теперь стиль переключается разом ![]() |
|
|
Алексей1153 |
![]()
Сообщение
#13
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
блин, два дня пытаюсь постичь логику стилей, есть успехи (исли забыть про маты), но кое-что пока ещё далеко за границами понимания. Вот стиль скроллбара, которому придан вид спинконтрола. Никак не могу заставить появиться штатные треугольнички стрелок, а ещё - как им цвет потом задать ? Это в самом конце портянки. Прощу помощи!
Раскрывающийся текст
Сообщение отредактировал Алексей1153 - 18.1.2011, 0:56 |
|
|
igor_bogomolov |
![]()
Сообщение
#14
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Никак не могу заставить появиться штатные треугольнички стрелок, а ещё - как им цвет потом задать ? Через qss никак. Тем более задать им цвет. Единственное что могу тут предложить, это попробовать разместить на их месте картинку используя image: url()Да и к чему такие извращения. Просто для ознакомления, или реальная задача? Если реальная, я бы забил на qss и использовал QProxyStyle, либо написал свой виджет (от задачи зависит) P.S. Вообще изменение стилей (т.е. использование qss) считаю дурным тоном. |
|
|
Алексей1153 |
![]()
Сообщение
#15
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
igor_bogomolov, реальная задача - имитация контролов X-программы . Да я хоть чего уже рад использовать после знакомства с этим qss ))) Отрисовать самому можно. Но хотелось бы сейчас понять через стили
QProxyStyle - щас гляну, спасибо P.S. Вообще изменение стилей (т.е. использование qss) считаю дурным тоном. гы, что-то мне это напоминает ![]() |
|
|
igor_bogomolov |
![]()
Сообщение
#16
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Алексей1153 |
![]()
Сообщение
#17
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#18
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Алексей1153 |
![]()
Сообщение
#19
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
уж и натрахалсо я со стилями
![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#20
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Алексей1153 |
![]()
Сообщение
#21
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Litkevich Yuriy, обязательно покажу и расскажу, но позже, а то сглазить уже боюсь )) Цейтнот, но надеюсь до понедельника сдать заказ
|
|
|
Алексей1153 |
![]()
Сообщение
#22
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
а каким образом добраться до настроек стиля диалога ? Вернее, не до всех, клиентсая часть меняется отлично. А граница и заголовок ? Кнопки на заголовке ?
Или просто рисовать в paintEvent? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#23
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Алексей1153 |
![]()
Сообщение
#24
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
то есть, вручную придётся. И даже, как понимаю, под каждую ОС по разному - через АПИ (на nonclient области) ?
|
|
|
Алексей1153 |
![]()
Сообщение
#25
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
QCalendarWidget - для этого товарисча вообще стилей найти нигде не могу. А они бывают ?
Сообщение отредактировал Алексей1153 - 24.1.2011, 21:37 |
|
|
igor_bogomolov |
![]()
Сообщение
#26
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
QCalendarWidget - это состовной виджет. Из чего состоит смотри в исходниках. Там и QTableView, и QSpinBox, и QToolButton и т.д. К каждому из них можно применить их css стандартным способом
|
|
|
Алексей1153 |
![]()
Сообщение
#27
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
оу, спасибо. Щас покопаемся ) А то я уже свой начал городить из таблицы
|
|
|
Алексей1153 |
![]()
Сообщение
#28
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
В общем, похоже, проще всего будет настроить его так, чтобы был виден только QCalendarView (название недель и числа) , а всё остальное прилепить своё. Ушёл красноглазить ))
|
|
|
igor_bogomolov |
![]()
Сообщение
#29
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Алексей1153, чем ты вообще занимаешься? Как то это всё странно
![]() |
|
|
Алексей1153 |
![]()
Сообщение
#30
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
![]() да вот, заказали сымитировать стиль одного виндового приложения |
|
|
igor_bogomolov |
![]()
Сообщение
#31
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
А скриншеты этого приложения есть? Ну или ссылку дай. Любопытно
![]() |
|
|
Алексей1153 |
![]()
Сообщение
#32
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
адынэска, платформа 8.2
в общем-то, поле редактирования(+календарь+калькулярор), текстовые надписи, кнопки и фон диалога уже реализованы (чуток допилить ещё). Скрины потом, не хочется сырым продуктом размахивать )) Исходники после сдачи заказа тоже могу желающим выдать. Заодно и критику послушаю (и не надо меня обвиняться, что я компоновщики из принципа не применяю - вот, например, я видел, что для калькулятора и календаря это нужно, но делал их при помощи редактора, а код потом перенёс в класс) |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.6.2025, 10:30 |