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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: "своя" кнопка  (Прочитано 13587 раз)
enola
Гость
« : Сентябрь 19, 2006, 12:50 »

Есть потребность в создании собственной кнопки, почитал инфу по данной теме, понял что стандартный подход от Trolltech это создание собственного стиля. Нашел пример в Qt, но правда такой навернутый.
У меня есть две картинки кнопки - отжатое и нажатое состояние, нужно по ним сделать кнопку.
Может кто-нибудь маленький примерчик скинуть как делается этот стиль для кнопки, или ссылку. [/list]
Записан
BaltikS
Гость
« Ответ #1 : Сентябрь 19, 2006, 18:53 »

А по-моему всё несложно...
1) Унаследываемся от QPushButton
2) В painEvent-е ставим условие if (isDown()) drawPixmap1(); else drawPixmap2().

P.S. Это для 3 QT, для 4 возможно название классов и методов отличается. Не помню просто...
Записан
QCasper
Гость
« Ответ #2 : Сентябрь 19, 2006, 20:37 »

Цитата: "BaltikS"
А по-моему всё несложно...
1) Унаследываемся от QPushButton
2) В painEvent-е ставим условие if (isDown()) drawPixmap1(); else drawPixmap2().

P.S. Это для 3 QT, для 4 возможно название классов и методов отличается. Не помню просто...


для 4 точно также
Записан
enola
Гость
« Ответ #3 : Сентябрь 20, 2006, 06:48 »

спасибо, щас попробуем Улыбающийся

добавлено спустя 54 минуты:

 получилось Улыбающийся

правда возникли еще вопросы:
[list=1]
  • Для того, чтобы caption был нужно свои свойства определять?
  • Для картинки на кнопке тоже?
  • [/list:o]
Записан
C.H.
Гость
« Ответ #4 : Сентябрь 20, 2006, 10:26 »

вот есть штука http://www.trolltech.com/customers/coolapps/GUIArtist в ней можно рисовать свои кнопки и не только...
Записан
enola
Гость
« Ответ #5 : Сентябрь 20, 2006, 13:31 »

как с ней работать и где ее взять?
Записан
C.H.
Гость
« Ответ #6 : Сентябрь 20, 2006, 13:45 »

брать тут http://www.gui-artist.de/4.0.html?&L=7
но тока там демо-версия Грустный
Записан
enola
Гость
« Ответ #7 : Сентябрь 20, 2006, 13:49 »

а зачем тогда предлагать если только демо версия? Улыбающийся
Записан
C.H.
Гость
« Ответ #8 : Сентябрь 20, 2006, 13:52 »

ну дык может кому-тои демки хватит - нариосвать одну кнопочку, а вообще глядеть надо!
Записан
enola
Гость
« Ответ #9 : Сентябрь 20, 2006, 14:43 »

так мне и не сказали как иконку добавить и надпись?
Записан
BaltikS
Гость
« Ответ #10 : Сентябрь 21, 2006, 06:35 »

Цитата: "enola"
так мне и не сказали как иконку добавить и надпись?

Ну это чуть чуть подумать надо было....
Иконка ..... drawPixmap(x,y, iconSet()->pixmap());
Текст ....drawText(x,y,align, text());
Координаты надеюсь сам посчитаешь  :wink: ......
Записан
enola
Гость
« Ответ #11 : Сентябрь 21, 2006, 06:44 »

Улыбающийся до этого я и сам додумался, чай не тупой.
Думал может можно как-нибудь по-другому, ну если так, то уже сделал.
спасибо всем.
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #12 : Сентябрь 22, 2006, 09:28 »

А кто нибудь пробовал свой стиль рисовать?
Картинки это хорошо, но вот если нужно много всего... тыж не будешь на каждый GUI элемент картинки искать...
А как нарисовать таблицу...
По типу артура, т.е. так как сами Trollи рисуют... Так сказать математически...
Записан
enola
Гость
« Ответ #13 : Сентябрь 22, 2006, 10:33 »

Я хотел попробовать для кнопки нарисовать, но BaltikS предложил метод для paintEvent и мне хватило, а вообще тема очень интересная.
Записан
BaltikS
Гость
« Ответ #14 : Сентябрь 22, 2006, 10:37 »

Если тебе нужна только кнопка, то стиль писать свой думаю бесмысленно, а если набор виджетов, то конечно проще стиль.
Sergey B. да и стиль я тоже рисовал. Там вроде как всё просто даже по-моему пример где то в Examples-ах валялся.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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