crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Не получается отрисовка
Shunka
  опции профиля:
сообщение 18.10.2014, 1:10
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 18.10.2014
Пользователь №: 4252

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




Репутация:   0  


Здравствуйте. Я новичок. Не понимаю, что я делаю не правильно. Отрисовка должна быть на отдельном виджете.
mainwindow.h
...
class Win:public QWidget
{
    Q_OBJECT
public:
    Win(QWidget *parent = 0);
...
public:
QWidget *wid;
private:
  
    virtual void paintEvent(QPaintEvent *);
};


dia.cpp
Win::Win(QWidget *parent):QWidget(parent)
{
    ...
    wid = new QWidget(this);
    wid->setGeometry(219, 30, 350, 297);
...
}
void Win::paintEvent(QPaintEvent *)
{
    if(bDrawIt)
    {
        QPainter p(wid);
        p.setPen(Qt::black);
        p.drawLine(100, 50, 100, 60);
        p.drawLine(10, 10, 30, 30);
        p.end();
    }
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Trisch
  опции профиля:
сообщение 18.10.2014, 10:16
Сообщение #2


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

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

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




Репутация:   0  


paintEvent это protected функция.

А что происходит не так? Виджет не отображается или отображается, но отрисовывается не так как надо?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Shunka
  опции профиля:
сообщение 18.10.2014, 12:35
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 18.10.2014
Пользователь №: 4252

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




Репутация:   0  


Не отрисовывается ничего. Ну и я не уверена, что он отображается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 18.10.2014, 14:54
Сообщение #4


Старейший участник
****

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

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




Репутация:   8  


Потому что вы переопределяете paintEvent для одного виджета, а отрисовываете другой.
Должно быть что то вроде QPainter p(this)
Приложите маленький проект.

Сообщение отредактировал lanz - 18.10.2014, 14:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 19.4.2024, 4:30