crossplatform.ru

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

> не работает прорисовка в форме
voipp
  опции профиля:
сообщение 26.10.2010, 21:00
Сообщение #1


Участник
**

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

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




Репутация:   0  


создаю в основном файле в конструкторе тэбвиджет по имени tabWidget_2:
QTabWidget* tabWidget_2 = new QTabWidget(ui->tab);
    tabWidget_2->setObjectName(QString::fromUtf8("tabWidget_2"));
    tabWidget_2->setGeometry(QRect(500, 10, 391, 451));
    this->pictureU_T=new canvasForU_T();
    tabWidget_2->addTab(pictureU_T, QString::fromAscii("T_\\"));
    this->pictureU_X=new canvasForU_X();
    tabWidget_2->addTab(this->pictureU_X,QString::fromAscii("T_\\"));

ui->tab это виджет, который вставляется в еще один тэб под названием tabwidget(получается один тэб - "tabWidget_2" в другом тэбе - "tabWidget")
canvasForU_T() - класс унаследованный от QWidget(его-то я и хочу вставить в tabWidget_2).
Вот его описание:
#include "canvasforu_t.h"

canvasForU_T::canvasForU_T(QWidget* parent):QWidget(parent)
{
    paint=new QPainter(this);
}

void canvasForU_T::painEvent(QPaintEvent *){

    QColor color(Qt::blue);
    QPen pen(color);
    pen.setWidth(12);
    paint->setPen(pen);
    paint->drawLine(10,10,70,70);

}

canvasForU_T::~canvasForU_T(){
    delete paint;
}

canvasForU_X() это тоже самое, что и canvasForU_T().
Никаких линий не рисуется.Появляется ошибка:
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::begin: Paint device returned engine == 0, type: 1
QPaintDevice: Cannot destroy paint device that is being painted

Как ее исправить?

Сообщение отредактировал voipp - 26.10.2010, 21:24
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_Гость_voipp_*_*
сообщение 27.10.2010, 9:33
Сообщение #2





Гости








    


"Можно было оставить, как было, с одним условием -вернуть память в кучу" так я ведь в деструкторе удаляю painter!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- voipp   не работает прорисовка в форме   26.10.2010, 21:00
- - Алексей1153   вот так заработает #include "canvasforu_t.h...   26.10.2010, 21:43
- - voipp   ошибок кроме удаления нет.Но линии всеранво не чер...   26.10.2010, 21:48
- - Алексей1153   voipp, а с моим вариантом попробовал ?   26.10.2010, 21:50
- - voipp   я с вашим вариантом и пробовал.Кстати я включил де...   26.10.2010, 21:51
- - Алексей1153   при чём тут деструктор MainWindow ? )) а вот так ...   26.10.2010, 21:54
- - voipp   не всеравно зараза не чертит   26.10.2010, 21:57
- - Алексей1153   Цитата(voipp @ 27.10.2010, 0:51) ) и он п...   26.10.2010, 21:58
- - voipp   Да: class canvasForU_T : public QWidget кстати...   26.10.2010, 21:59
- - Алексей1153   voipp, прицепи ка проект, а то ничего не понятно.   26.10.2010, 22:02
- - voipp   Раскрывающийся текст #include "mainwindow.h...   26.10.2010, 22:05
- - Алексей1153   voipp, проект - это папка с файлами, желательно уп...   26.10.2010, 22:07
- - voipp   ЧМ   26.10.2010, 22:08
- - Алексей1153   а ещё - у тебя Q_OBJECT в классе canvasForU_T не ...   26.10.2010, 22:08
- - voipp   а развев это макрос обязателен? Ведь я не сипользу...   26.10.2010, 22:16
- - Алексей1153   ну, с ним, по крайней мере, работает )) а без них...   26.10.2010, 22:40
- - voipp   извиняюсь, а где вы нашли опечатку?   26.10.2010, 22:42
- - Алексей1153   painEvent этакое болевое сообщение )   26.10.2010, 22:43
- - voipp   извиняюсь, а где вы нашли u ? может pictureU_T ?   26.10.2010, 22:43
- - Алексей1153   voipp, да я ничего не искал - мне компилятор сказа...   26.10.2010, 22:45
- - voipp   Спасибо добрый человек! Все работает!   26.10.2010, 22:46
- - Алексей1153   наздоровье!   26.10.2010, 22:48
- - voipp   Но ошибка QPaintDevice: Cannot destroy paint devic...   26.10.2010, 22:54
- - Алексей1153   вот так не будет //это к делу не относится, просто...   26.10.2010, 23:03
- - voipp   а можно тупой вопрос - почему именно так? какая ра...   26.10.2010, 23:20
- - Алексей1153   voipp, да нормальный вопрос, отчего ж тупой. Можно...   26.10.2010, 23:25
- - Гость_voipp_*   "Можно было оставить, как было, с одним услов...   27.10.2010, 9:33
- - voipp   #include "canvasforu_t.h" canvasForU_T...   27.10.2010, 9:45
- - Litkevich Yuriy   voipp, QPainter надо создавать там где он нужен. Т...   27.10.2010, 9:58
|- - voipp   Цитата(Litkevich Yuriy @ 27.10.2010, 10:5...   27.10.2010, 10:18
- - BRE   А особенно памяти никакой и не выделяется. QPainte...   27.10.2010, 10:24
- - Алексей1153   voipp, это не просто память под художника, это соз...   27.10.2010, 11:17


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


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




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