qt noob braucht hilfe, mit einem stackedwidget und Qpainter
Verfasst: 3. September 2010 14:01
hi leute wie schon geschrieben bräucht eich mal Hilfe. Ich hab vor 2 Tagen angefangen mir mal qt anzuschauen und bin bisher ganz begeistert, aber habe noch so eineige probleme.
Eins ist das ichin ein, über den designer eingefügtes stacked Widget, auf seite 3 ein paar sachen malen will.
malen klappt ganz gut nur überall und nicht nur aus seite 3 des stacked widgets. könnt ihr mir dabei vll helfen?
Ps.: ich arbeite mit VS2005 und qt 4.4.3.
PS.: ist auch noch anderer müll vom testen drin, aber das wichtigste denke ich sieht man raus.
Danke euch schon mal im Vorraus für ein paar denkanstöße und tipps. vielen dank.
Eins ist das ichin ein, über den designer eingefügtes stacked Widget, auf seite 3 ein paar sachen malen will.
malen klappt ganz gut nur überall und nicht nur aus seite 3 des stacked widgets. könnt ihr mir dabei vll helfen?
Ps.: ich arbeite mit VS2005 und qt 4.4.3.
Code: Alles auswählen
#include "taschenrechner.h"
#include "myAdd.h"
#include "mySub.h"
#include <qpainter.h>
Taschenrechner::Taschenrechner(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
MyAdd *addWidget = new MyAdd(this);
MySub *subWidget = new MySub(this);
ui.InputA->insert ("0");
ui.InputB->insert ("0");
ui.InputA_2 -> setText("0");
ui.InputB_2 -> setText("0");
QPixmap bild("C:\\testbilder\\logo.jpg");
ui.imglabel->setPixmap(bild);
QPushButton *quit = new QPushButton(tr("Quit"), ui.page_3);
quit->setGeometry(200,200,25,15);
quit->setFont(QFont("Times", 10, QFont::Bold));
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
connect(ui.calculate, SIGNAL(clicked()),addWidget, SLOT(addAB()));
connect(ui.calculate_2, SIGNAL(clicked()),subWidget, SLOT(subAB()));
connect(ui.actionQuit,SIGNAL (triggered()), this, SLOT(slotClose()));
connect(ui.actionAdd, SIGNAL(triggered()), this, SLOT(showAdd()));
connect(ui.actionSub, SIGNAL(triggered()), this, SLOT(showSub()));
connect(ui.actionSpielwiese, SIGNAL(triggered()),this, SLOT(showSpielwiese()));
}
Taschenrechner::~Taschenrechner()
{
}
void Taschenrechner::paintEvent(QPaintEvent *e)
{
QBrush b1( Qt::blue );
QBrush b2( Qt::green, Qt::Dense6Pattern );
QBrush b3( Qt::NoBrush );
QBrush b4( Qt::CrossPattern );
QPainter *paint = new QPainter();
paint->begin(this);
paint->setPen( Qt::black );
paint->setBrush( b1 );
paint->drawRect( 50, 50, 200, 100 );
paint->setBrush( b2 );
paint->drawRoundRect( 50, 150, 200, 100, 20, 20 );
paint->setBrush( b3 );
paint->drawEllipse( 250, 50, 200, 100 );
paint->setBrush( b4 );
paint->drawPie( 250, 150, 200, 100, 45*16, 90*16 );
paint->end();
}
void Taschenrechner::slotClose(){
close();
}
void Taschenrechner::showAdd(){
ui.stackedWidget -> setCurrentIndex(0);
}
void Taschenrechner::showSub(){
ui.stackedWidget -> setCurrentIndex(1);
}
void Taschenrechner::showSpielwiese(){
ui.stackedWidget -> setCurrentIndex(2);
}
Danke euch schon mal im Vorraus für ein paar denkanstöße und tipps. vielen dank.