crossplatform.ru

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

Гость_Тёма_*
сообщение 10.10.2007, 7:49
Сообщение #1





Гости








    


Как вообще рисовать в Qt?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
guest13
  опции профиля:
сообщение 26.12.2008, 15:21
Сообщение #2


Студент
*

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

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




Репутация:   0  


вопрос такой....
имеется такой код
Раскрывающийся текст
#include <QtGui>

class PainterPathWidget : public QWidget {
protected:
    virtual void paintEvent(QPaintEvent*)
    {
        QPainterPath path;
        QPointF      pt1(width(), height() / 2);      
        QPointF      pt2(width() / 2, -height());      
        QPointF      pt3(width() / 2, 2 * height());
        QPointF      pt4(0, height() / 2);
        path.moveTo(pt1);
        path.cubicTo(pt2, pt3, pt4);
        
        QRect rect(width() / 4, height() / 4, width() / 2, height() / 2);        
        path.addRect(rect);        
        path.addEllipse(rect);
        
        QPainter painter(this);        
        painter.setRenderHint(QPainter::Antialiasing, true);        
        painter.setPen(QPen(Qt::blue, 6));        
        painter.drawPath(path);    
    }
public:
    PainterPathWidget(QWidget* pwgt = 0) : QWidget(pwgt)
    {
        
    }
};

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);    

    PainterPathWidget wgt;    
    
    QWidget window;

    QPushButton *q1=new QPushButton("exit");
    
    QVBoxLayout *lay1=new QVBoxLayout;
    wgt.setMinimumSize(200,200);
    lay1->addWidget(q1);
    lay1->addWidget(&wgt);
    window.setLayout(lay1);
        
    QObject::connect(q1,SIGNAL(clicked()),&app,SLOT(quit()));    

    window.show();
    return app.exec();
}

нормально компилится запускается, но при закрытии выдает следующую ошибку
 Р В Р’ Р’ Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 61%
Прикрепленное изображение
666 x 147 (19.52 килобайт)

что можете сказать по этому поводу?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 26.12.2008, 16:04
Сообщение #3


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


#include <QtGui>

class PainterPathWidget : public QWidget {
protected:
    virtual void paintEvent(QPaintEvent* e)
    {
        QPainterPath path;
        QPointF      pt1(width(), height() / 2);      
        QPointF      pt2(width() / 2, -height());      
        QPointF      pt3(width() / 2, 2 * height());
        QPointF      pt4(0, height() / 2);
        path.moveTo(pt1);
        path.cubicTo(pt2, pt3, pt4);
        
        QRect rect(width() / 4, height() / 4, width() / 2, height() / 2);        
        path.addRect(rect);        
        path.addEllipse(rect);
        
        QPainter painter(this);        
        painter.setRenderHint(QPainter::Antialiasing, true);        
        painter.setPen(QPen(Qt::blue, 6));        
        painter.drawPath(path);    
    }
public:
    PainterPathWidget(QWidget* pwgt = 0) : QWidget(pwgt)
    {
        
    }
};
int main(int argc, char* argv[])
{
    QApplication app(argc, argv);    
    QWidget window;
    PainterPathWidget wgt;    
    QPushButton q1("exit");
    QVBoxLayout lay1(&window);
    wgt.setMinimumSize(200,200);
    lay1.addWidget(&q1);
    lay1.addWidget(&wgt);

    QObject::connect(&q1,SIGNAL(clicked()),&app,SLOT(quit()));    

    window.show();
    return app.exec();
}


найди 10 отличий:)
все работает.
почитай если интересно про иерахию классов и осовобождение памяти в Qt.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Тёма   Ничего не получается с рисованием на виджете   10.10.2007, 7:49
- - ViGOur   Для того, чтобы рисовать, тебе понадобится переопр...   10.10.2007, 7:56
- - Don   Плиз, выложите кто-нить ПОЛНЫЙ небольшой пример, г...   23.4.2008, 21:52
|- - AD   Цитата(Don @ 23.4.2008, 22:52) Плиз, выло...   23.4.2008, 22:21
- - Andrew Selivanov   Цитата(AD @ 23.4.2008, 23:21) Цитата(Don ...   23.4.2008, 22:40
- - Don   Да уж, маленький примерчик. Какие именно функци...   24.4.2008, 17:07
- - ViGOur   Маленький пример: каким способом проще рисовать по...   24.4.2008, 17:11
- - Litkevich Yuriy   Из книжки Макса Шлее: #include <QtGui> //...   24.4.2008, 17:16
|- - AD   void Plotter::paintEvent(QPaintEvent *...   24.4.2008, 17:31
- - Don   Спасибо! Теперь понял. У меня ещё один вопрос:...   24.4.2008, 17:46
- - Litkevich Yuriy   ну размести рисунок на одном виджете, и воткни его...   24.4.2008, 17:54
- - Don   Понял спасибо! А почеиу текст нужно выводить и...   24.4.2008, 18:23
- - Litkevich Yuriy   Я пишу в кодировке UTF-8, но строковые переменные ...   24.4.2008, 18:27
- - Don   Как нарисовать дугу? Пытался через drawArc(), не п...   24.4.2008, 20:17
- - Litkevich Yuriy   а как ты это делал? приведи код   24.4.2008, 20:28
|- - Don   Цитата(Litkevich Yuriy @ 24.4.2008, 20:28...   24.4.2008, 20:37
- - Litkevich Yuriy   Смотри для начала рабочий пример в каталоге %QTDIR...   24.4.2008, 21:07
|- - Don   Цитата(Litkevich Yuriy @ 24.4.2008, 20:39...   24.4.2008, 21:09
- - Litkevich Yuriy   смотри мой предыдущий пост. startAngle и spanAngl...   24.4.2008, 21:19
- - Don   Смотрите, все что рисуется на форме должно находит...   19.5.2008, 20:38
- - Litkevich Yuriy   выходит так   20.5.2008, 7:45
- - guest13   вопрос такой.... имеется такой код Раскрывающийся ...   26.12.2008, 15:21
|- - kwisp   #include <QtGui> class PainterPathWidget ...   26.12.2008, 16:04
- - TiiL   Здравствуйте, обьясните мне не догоняющему, где в ...   10.6.2011, 14:15


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 26.5.2025, 5:41