crossplatform.ru

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

> прорисовка с paintEvent
voipp
  опции профиля:
сообщение 24.10.2009, 16:39
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 116
Регистрация: 20.10.2009
Из: Msk
Пользователь №: 1166

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




Репутация:   0  


как реализовать индивидуальные для сигналов прорисовки виджета?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
BRE
  опции профиля:
сообщение 24.10.2009, 16:47
Сообщение #2


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

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(voipp @ 24.10.2009, 17:39) *
как реализовать индивидуальные для сигналов прорисовки виджета?


Эээ... если я правильно понял о чем речь. :)
class MyWidget : public QWidget
{
    Q_OBJECT
public:
    enum State { State1, State2 };

public slots:
    void    setState( int st )
    {
        m_state = st;
        update();
    }

protected:
    virtual void paintEvent( QPaintEvent * )
    {
        QPainter p( this );
        switch( m_state )
        {
        case State1:
            // Рисуем состояние 1
        case State2:
            // Рисуем состояние 2
        }
    }

private:
    int    m_state;
};
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
voipp
  опции профиля:
сообщение 24.10.2009, 17:08
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 116
Регистрация: 20.10.2009
Из: Msk
Пользователь №: 1166

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




Репутация:   0  


Цитата(BRE @ 24.10.2009, 17:47) *
Цитата(voipp @ 24.10.2009, 17:39) *
как реализовать индивидуальные для сигналов прорисовки виджета?


Эээ... если я правильно понял о чем речь. :)
class MyWidget : public QWidget
{
    Q_OBJECT
public:
    enum State { State1, State2 };

public slots:
    void    setState( int st )
    {
        m_state = st;
        update();
    }

protected:
    virtual void paintEvent( QPaintEvent * )
    {
        QPainter p( this );
        switch( m_state )
        {
        case State1:
            // Рисуем состояние 1
        case State2:
            // Рисуем состояние 2
        }
    }

private:
    int    m_state;
};



спасибо

но я вообще хотел совсем в другом классе реализовать сигналы. Проблема заключается что в этих сигналах я вызываю update() а он уже перерисовывает widget который определен в другом классе тоесть никакой информации о том что за кнопка вызввала перерисовку нет в этом то и проблема
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




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