crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Нажатие на кнопку посредством StyleSheet
RazrFalcon
  опции профиля:
сообщение 3.8.2011, 20:56
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Пример:
btn->setStyleSheet("border: none; padding: 0px;");
Это делает мою кнопку полностью невидимой. Отображается только иконка, что мне и нужно.
Но в тоже время пропала реакция на нажатие. То есть небольшой сдвиг. Как это вернуть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 3.8.2011, 21:37
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Я никаких "сдвигов" не наблюдаю. "Реакция" нормальная.

Может лучше использовать QToolButton со свойством autoRaise?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 3.8.2011, 21:45
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


QPushButton *btnCopy = new QPushButton(this);
btnCopy->setStyleSheet("border: none; padding: 0px;");
btnCopy->setIcon(QIcon::fromTheme("edit-copy"));
btnCopy->setIconSize(QSize(16,16));


btn->setAutoRaise(true);
С рамочкой, а мне она не нужна.

Сообщение отредактировал RazrFalcon - 3.8.2011, 21:48
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 4.8.2011, 10:27
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Сдвиг пропал потому что сдвигалась рамочка а вы ее убрали (border: none;). Поставьте другой стиль на состояние "QPushButton:pressed", в нем вы можете вернуть сдвиг и вообще как угодно обозначит нажатие.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 4.8.2011, 13:29
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Сдвиг пропал потому что менялась рамочка, а вы ее убрали (border: none;). Поставьте другой стиль на состояние "QPushButton:pressed", в нем вы можете вернуть сдвиг и вообще как угодно обозначить нажатие.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 4.8.2011, 14:56
Сообщение #6


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Можно пример? Я новичок в стилях.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 4.8.2011, 16:01
Сообщение #7


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


QPushButton {
border: none;
padding: 0px;
}
QPushButton:pressed {
border: 3px double black; /*Двойная линия*/
border-radius: 7px; /*Дает красивую закругленность*/
padding: 4px 0px 0px 4px; /*Тот самый сдвиг*/
}

На счет сдвига: его направление можно менять в зависимости от соотношения величин передаваемых в качестве параметра, если они равны сдвига не будет.
P.S. Как удалить пост, а то он у меня случайно продублировался?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 4.8.2011, 16:30
Сообщение #8


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Спасибо. Подправил под себя - работает.
PS: "скругленность" на кедах выглядит не очень :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 8:26