Russian Qt Forum
Март 19, 2024, 08:00
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Зачем в примере стиля дважды задаётся ширина границы виджета?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Зачем в примере стиля дважды задаётся ширина границы виджета? (Прочитано 6152 раз)
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Зачем в примере стиля дважды задаётся ширина границы виджета?
«
:
Декабрь 14, 2016, 14:23 »
Я не очень опытен в использовании таблиц стилей в Qt, поскольку традиционно предпочитаю задавать параметры в коде. В
примерах
использования таблицы стилей у QPushButton дважды для каждой границы задаётся её ширина:
Код:
QPushButton {
color: grey;
border-image: url(/home/kamlie/code/button.png) 3 10 3 10;
border-top: 3px transparent;
border-bottom: 3px transparent;
border-right: 10px transparent;
border-left: 10px transparent;
}
С border-image всё понятно - числами задана ширина не масштабируемых частей картинки. А далее зачем это делается повторно?
Записан
2^7-1 == 127, задумайтесь...
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #1 :
Декабрь 14, 2016, 14:39 »
Насколько я вижу, там задается размер картинки в кнопке и размер самой кнопки
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #2 :
Декабрь 14, 2016, 14:58 »
Цитата: gil9red от Декабрь 14, 2016, 14:39
Насколько я вижу, там задается размер картинки в кнопке и размер самой кнопки
Нет.
Цитировать
The numbers after the url gives the top, right, bottom and left number of pixels, respectively. These numbers correspond to the border and should not stretch when the size changes.
То есть, в border-image задается картинка для кнопки, а числа за ним - ширина в пикселах для границ картинки с четырех сторон, которые не масштабируются при масштабировании всей кнопки. Вот зачем они дублируются потом?
Записан
2^7-1 == 127, задумайтесь...
Bepec
Гость
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #3 :
Декабрь 14, 2016, 19:33 »
Границы для размещения окантовки и границы самой кнопки - разные вещи.
Бордер имейдж задает рисунок, но при этом не ограничивая внутренний контейнер кнопки.
Бордер кнопки задаёт отступы, которые используются при рассчете внутреннего контейнера. Как бы так.
Т.е. окантовка у вас может быть на 3px, а бордюр на деле 5 px.
Записан
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #4 :
Декабрь 14, 2016, 20:01 »
Цитата: Bepec от Декабрь 14, 2016, 19:33
Границы для размещения окантовки и границы самой кнопки - разные вещи.
Бордер имейдж задает рисунок, но при этом не ограничивая внутренний контейнер кнопки.
Бордер кнопки задаёт отступы, которые используются при рассчете внутреннего контейнера. Как бы так.
Т.е. окантовка у вас может быть на 3px, а бордюр на деле 5 px.
То есть, в border-image я задаю границы, которые не масштабируются при масштабировании кнопки, а остальные border- в примере - это области в которых кнопка не получает события? То есть, это как бы "рамка" с полной функциональностью - её толщина не меняется, и кнопка при нажатии на неё не реагирует. Так что ли?
Записан
2^7-1 == 127, задумайтесь...
Bepec
Гость
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #5 :
Декабрь 14, 2016, 20:43 »
Хз, пробуйте. Никто до вас не изучал поведение данных параметров
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #6 :
Декабрь 15, 2016, 10:23 »
Может это поможет:
http://htmlbook.ru/css/border-image
Обрати внимание на исходную картинку
Записан
Юра.
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #7 :
Декабрь 15, 2016, 11:28 »
Цитата: lit-uriy от Декабрь 15, 2016, 10:23
Может это поможет:
http://htmlbook.ru/css/border-image
Обрати внимание на исходную картинку
Перед написанием ответа читать вопрос и дальнейшее обсуждение уже не принято? Вопрос был не про что такое border-image, а... суть вопроса в самом вопросе.
Записан
2^7-1 == 127, задумайтесь...
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #8 :
Декабрь 15, 2016, 11:31 »
Цитата: Bepec от Декабрь 14, 2016, 20:43
Хз, пробуйте. Никто до вас не изучал поведение данных параметров
Это равнозначно "никто не использовал"...
Записан
2^7-1 == 127, задумайтесь...
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #9 :
Декабрь 16, 2016, 07:35 »
Гурман, я прочитал тему и дал ответ по существу.
Для того чтобы понять зачем указаны толщины границы (border), нужно понять, что задают цифры в border-image.
Эти цифры не задают толщину границы, они задают толщину части рисунка, которую нужно использовать для границы.
граница толщиной 40 пкс может содержать часть рисунка толщиной 10 пкс.
Записан
Юра.
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #10 :
Декабрь 16, 2016, 14:33 »
Цитата: lit-uriy от Декабрь 16, 2016, 07:35
Гурман, я прочитал тему и дал ответ по существу.
Нет.
Записан
2^7-1 == 127, задумайтесь...
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Зачем в примере стиля дважды задаётся ширина границы виджета?
«
Ответ #11 :
Декабрь 16, 2016, 14:34 »
Цитата: lit-uriy от Декабрь 16, 2016, 07:35
Для того чтобы понять зачем указаны толщины границы (border), нужно понять, что задают цифры в border-image.
Границы border-* к border-image вообще не имеют отношения.
Записан
2^7-1 == 127, задумайтесь...
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...