кнопки-иконки |
Здравствуйте, гость ( Вход | Регистрация )
кнопки-иконки |
breeve |
2.2.2010, 14:02
Сообщение
#1
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
Как сделать иконку на которую можно нажать? сделал вот так:
Но получается так что картинка немного глюченная, не прорисованная до конца как должна быть.. может есть какие-то другие варианты? В дальнейшем планируется изменять цвет иконки при нажатии.. |
|
|
lucifer_vrn |
2.2.2010, 14:22
Сообщение
#2
|
Студент Группа: Участник Сообщений: 19 Регистрация: 27.2.2009 Пользователь №: 580 Спасибо сказали: 3 раз(а) Репутация: 0 |
breeve,
попробуй так:
|
|
|
breeve |
2.2.2010, 14:51
Сообщение
#3
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
breeve, попробуй так:
Не получается что-то.. Иконка слишком маленькая и видны рамки кнопки.. Необходимо чтобы кнопку саму видно не было, а только иконку.. либо сделать кнопку в форме иконки. В качестве примера - есть такие программы на linux - панельки с ярлычками(cairo-dock, awn). Нужно сделать что-то похожее.. Сообщение отредактировал breeve - 2.2.2010, 14:54 |
|
|
lucifer_vrn |
2.2.2010, 15:16
Сообщение
#4
|
Студент Группа: Участник Сообщений: 19 Регистрация: 27.2.2009 Пользователь №: 580 Спасибо сказали: 3 раз(а) Репутация: 0 |
ну тогда создать класс унаследованный от QToolButton или QPushButton в нем переопределить paintEvent, оригинальный paintEvent не вызывать, а в нем с помощью QPainter::drawPixmap нарисовать иконку....
|
|
|
MoPDoBoPoT |
2.2.2010, 16:00
Сообщение
#5
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
|
|
|
breeve |
2.2.2010, 17:56
Сообщение
#6
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
|
|
|
JuryS1806 |
2.2.2010, 18:17
Сообщение
#7
|
Студент Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: 0 |
Думаю только может помочь что троли прописали. только style sheets
Кстати в примерах mainwindow есть пример с рисованием виджетов там left.jpg, border.jpg как раз определяют style sheets. /название какое-то дерьмо у тролей / QPushButton { border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); min-width: 80px; } QPushButton:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #dadbde, stop: 1 #f6f7fa); } QPushButton:flat { border: none; /* no border for a flat push button */ } QPushButton:default { border-color: navy; /* make the default button prominent */ } |
|
|
Litkevich Yuriy |
2.2.2010, 18:54
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
style sheets. /название какое-то дерьмо у тролей весь трёп на эту тему переехал сюда
|
|
|
breeve |
5.2.2010, 11:08
Сообщение
#9
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
Наследовал класс от pushbutton и переопределил методы рисования, наведения, нажатия и отпускания. Вот код:
Раскрывающийся текст Сообщение отредактировал breeve - 10.2.2010, 16:32 |
|
|
breeve |
10.2.2010, 16:32
Сообщение
#10
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
Как не пробую не получается...
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 17:31 |