LINUX.ORG.RU

рисование в QT


0

0

Подскажите, можно ли в QT на одном из Tab-ов QTabWidget отобразить Canvas с его элементами и CanvasView ?

Если да, обрисуйте, пожалуйста,общую схему.

Не хочется делать через paintEvent QWidget, т.к. вижу в механизме прорисовки Canvas продвинутые вещи, которые сэкономят мои усилия.


#include <qapplication.h>
#include <qtabwidget.h>
#include <qcanvas.h>
#include <qbrush.h>


class Page1 : public QCanvasView{
QCanvas aCanvas;
public:
Page1(QWidget* parent):QCanvasView(parent),aCanvas(150,150){
setCanvas(&aCanvas);
QCanvasEllipse* ellipse = new QCanvasEllipse(&aCanvas);
ellipse->setBrush(QBrush(Qt::red));
ellipse->setSize(100,10);
ellipse->setX(50); ellipse->setY(50);
ellipse->show();
}
};


class Page2 : public QCanvasView{
QCanvas aCanvas;
public:
Page2(QWidget* parent):QCanvasView(parent),aCanvas(150,150){
setCanvas(&aCanvas);
QCanvasEllipse* ellipse = new QCanvasEllipse(&aCanvas);
ellipse->setBrush(QBrush(Qt::blue));
ellipse->setSize(10,100);
ellipse->setX(50); ellipse->setY(50);
ellipse->show();
}
};


int main(int ac, char** av){
QApplication a(ac,av);

QTabWidget tab(0);
Page1 p1(&tab); tab.addTab(&p1,"Page 1");
Page2 p2(&tab); tab.addTab(&p2,"Page 2");

tab.show();
a.setMainWidget(&tab);

return a.exec();
}

Flogger_d
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.