Russian Qt Forum
Октябрь 01, 2024, 00:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]QToolButton и popupmenu  (Прочитано 6247 раз)
Larry
Гость
« : Февраль 18, 2016, 09:39 »

Добрый день, форумчане.
Подскажите пожалуйста, как menu-indicator расположить внизу по центру кнопки. Все что ни пробовал - не помогло.
Сделал следующий стиль:
#tbShapes::menu-arrow
Код:
{
    image: none;
}
#tbShapes::menu-button
{
    image: none;
}
Кнопка переместилась вниз. но как теперь ее расположить по центру?
Пробовал сделать следующее:
Код:
#tbShapes::menu-indicator
{
    subcontrol-position: bottom center;
}
Но тогда получается, что отображаются оба индикатора справа и внизу по центру, а обрабатывается только правый, а нижний не реагирует. Подскажите, где я делаю ошибку? Спасибо.

P.S.: рисунках видно и первый вариант и второй.
« Последнее редактирование: Февраль 18, 2016, 16:56 от Larry » Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #1 : Февраль 18, 2016, 10:29 »

popupMode при этом какой?
Записан
Larry
Гость
« Ответ #2 : Февраль 18, 2016, 10:37 »

MenuButtonPopup
Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #3 : Февраль 18, 2016, 12:33 »

Как то так, пробовал на классическом стиле винды. Заипался цифры подгонять  Грустный
Код
C++ (Qt)
QToolButton[popupMode="1"] {
width: 60; height: 60; margin: 0 -12 20 0; padding: 0 20 0 0;
}
QToolButton::menu-button[popupMode="1"], QToolButton::menu-indicator[popupMode="1"] {
height: 20; width: 74; subcontrol-origin: margin; subcontrol-position: bottom;
}
 
Записан
Larry
Гость
« Ответ #4 : Февраль 18, 2016, 13:36 »

Спасибо, попробую.
Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #5 : Февраль 18, 2016, 15:59 »

А если так, то проблема с подгонкой ширины исчезает
Код
C++ (Qt)
QToolButton::menu-button[popupMode="1"], QToolButton::menu-indicator[popupMode="1"] {
position: absolute; left: 0; height: 20; subcontrol-origin: margin; subcontrol-position: bottom;
}
 

PS: А магическая цифра 12 (для margin) это константа PM_MenuButtonIndicator (для каждого стиля свой). Тогда надо так:
Код
C++ (Qt)
QToolButton[popupMode="1"] {
width: 60; height: 60; margin: 0 -12 20 0; padding: 0 12 0 0;
}
QToolButton::menu-button[popupMode="1"], QToolButton::menu-indicator[popupMode="1"] {
position: absolute; left: 0; height: 20; subcontrol-origin: margin; subcontrol-position: bottom;
}
 
« Последнее редактирование: Февраль 18, 2016, 16:20 от poru » Записан
Larry
Гость
« Ответ #6 : Февраль 18, 2016, 16:55 »

Спасибо.
Получилось так, что пришлось отказаться от вызова меню, т.к. получается, что пользователь не поймет, что надо делать. Спасибо большое, добавлю к себе в копилку Улыбающийся на будущее.
Записан
Larry
Гость
« Ответ #7 : Февраль 19, 2016, 14:52 »

Добрый день.
Все-таки возникла необходимость в выпадающем меню в другом месте  Улыбающийся. Может кому пригодится и чтобы самому не забыть. Всего две строчки, чтобы перенести стрелочку вниз:
Код:
#pbSetOptions::menu-indicator
{
    subcontrol-origin:   padding;
    subcontrol-position: bottom center;
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.094 секунд. Запросов: 20.