crossplatform.ru

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

3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему
> QPushButton - рисовать на кнопке, Как вывести рисунок на кнопке?
flankerr
  опции профиля:
сообщение 22.2.2008, 13:07
Сообщение #1


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

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

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




Репутация:   0  


Какой есть максимально простой способ вывести картинку на кнопку ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 22.2.2008, 13:09
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Например так:
pButton->setIcon( QIcon(":/images/image.png"));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 22.2.2008, 13:17
Сообщение #3


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

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

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




Репутация:   0  


Слона то я и не увидел, спаисбо
а елси мне надо чтонить нарисовать, то надо делать производный класс от кнопки или можно как то из "родного" диалога ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 22.2.2008, 13:20
Сообщение #4


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Лучше производный класс от кнопки, и там рисовать.Ты можешь рисовать и в диалоге, но кнопка все свое перерисовывает сама. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 22.2.2008, 13:23
Сообщение #5


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

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

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




Репутация:   0  


А если отловить сигнал пересовки кнопки из "родного" диалога и в диалоге просто добавить функцию отрисовки ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 22.2.2008, 13:26
Сообщение #6


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


думаю, что не стоит... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 22.2.2008, 13:33
Сообщение #7


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

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

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




Репутация:   0  


просто городить огород с наследованием ради такой мелочи как-то...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 22.2.2008, 13:40
Сообщение #8


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Хотя, можно попробовать.

p.s. Просто я сначала не о том подумал, cейчас в MFC ковыряюсь и плююсь... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 22.2.2008, 15:04
Сообщение #9


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

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

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




Репутация:   0  


Вопрос как выловить?
paintEvent
защищённая функция а сигнала я не нашёл...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 22.2.2008, 15:20
Сообщение #10


Дмитрий Трошин
****

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

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




Репутация:   6  


Она же виртуальная. Просто переопредели...
class Q......... : public QWidget
{
    Q_OBJECT
    public:
        Q.........(QWidget *parent = 0);
        virtual ~Q.........();
    protected:
        void paintEvent(QPaintEvent *event);
};
void Q.........::paintEvent(QPaintEvent * /* event */)
{
    QPainter painter(this);
    int v_size_widget =height()-1;        /// вертикальныйц размер виджета
    int h_size_widget =width()-1;        /// горизонтальный  размер виджета

...........
};


Сообщение отредактировал trdm - 22.2.2008, 15:22
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 27.12.2024, 3:17