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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QAbstractButton  (Прочитано 3881 раз)
like-nix
Гость
« : Февраль 26, 2011, 20:03 »

Здравствуйте

Подскажите пожалуйста как создать кнопку используя только QAbstractButton.

Просто хочу знать. Будьте так добры расскажите.

Или если не сложно внесите необходимые изменения в прикрепленный проект.
Записан
Fat-Zer
Гость
« Ответ #1 : Февраль 26, 2011, 20:09 »

посмотри, какие методы чисто виртуальные и переопредели их...
Записан
Fat-Zer
Гость
« Ответ #2 : Февраль 26, 2011, 20:28 »

и в чём тогда вопрос?
если не работает - посмотри как QPushButton сделан...
Записан
like-nix
Гость
« Ответ #3 : Февраль 26, 2011, 20:31 »

Я так и сделал. Там только paintEvent нужно переопределить. реализовал его так =)



Код:
void AbstractButton::paintEvent(QPaintEvent* /*e*/)
{
    QStylePainter      painter(this);
    QStyleOptionButton option;
    option.initFrom(this);
    painter.drawControl(QStyle::CE_PushButton, option);
}

Подумал что чтонибудь нарисуется =)
Записан
like-nix
Гость
« Ответ #4 : Февраль 26, 2011, 20:32 »

Да наверное придется посмотреть.
Записан
Fat-Zer
Гость
« Ответ #5 : Февраль 26, 2011, 20:51 »

Подумал что чтонибудь нарисуется =)
так он у тебя стандартную кнопку и рисует.
Записан
fuCtor
Гость
« Ответ #6 : Февраль 28, 2011, 17:08 »

Так тоже можно, но там еще нужно доопределить некоторые параметры перед передачей на отрисовку. Тут хорошо помогут как уже сказали исходники.

Можно еще вот так:
Код
C++ (Qt)
   QPainter p(this);
if(underMouse())
{
 p.fillRect(rect(), QColor(Qt::red));
} else {
 p.fillRect(rect(), QColor(Qt::green));
}
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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