Seite 1 von 1

QGraphicsView für Dumme! [gelöst]

Verfasst: 24. Juni 2009 19:19
von Hedge
Bin ganz neu in QT, deswegen seid bitte ein wenig nachsichtig!

Auf einem Form habe ich ein QGraphicsView.
Nach Drücken eines PushButtons möchte ich erstmal erreichen dass IRGENDWAS darauf gezeichnet wird.
Versuche das jetzt seit Stunden, aber alles was ich erreicht habe ist, dass das Graphicsview schwarz wird (leider auch nur schwarz, keine anderen Farben).
Hier mal was im Moment im clicked()-slot des Buttons steht:

Code: Alles auswählen

    this->ui->graphicsView->setSceneRect(0,0,1000,this->ui->graphicsView->height());
    QGraphicsScene *scene = new QGraphicsScene();
    scene->setBackgroundBrush(QColor(233, 0, 0));
    scene->setForegroundBrush(QColor(255, 255, 255, 127));
    QGraphicsRectItem *item = new QGraphicsRectItem(QRectF(QPoint(0,0), QPoint(100,100)));
    item->setPen(QPen(Qt::green));
    scene->addItem(item);
    this->ui->graphicsView->setScene(scene);
    scene->setBackgroundBrush(QColor(255, 0, 0));
    scene->addText("Hello, world!");
    this->ui->graphicsView->setBackgroundBrush(QColor(255, 0, 0));
    this->ui->graphicsView->render();

Verfasst: 24. Juni 2009 19:34
von upsala
Versuch mal folgendes:

Code: Alles auswählen

QGraphicsScene *scene = new QGraphicsScene(); 
scene->setBackgroundBrush(QColor(233, 0, 0)); 
QGraphicsRectItem *item = new QGraphicsRectItem(QRectF(QPoint(0,0), QPoint(100,100))); 
item->setPen(QPen(Qt::green)); 
scene->addItem(item); 
ui->graphicsView->setScene(scene); 
scene->addText("Hello, world!"); 

Verfasst: 24. Juni 2009 19:40
von Hedge
Das hat auch nichts gebracht, aber ich habe den Fehler ENDLICH gefunden.

Ich habe den Style des ForegroundBushes des QGraphicViews auf solid gesetzt und die Farbe ist ja standardmäßig schwarz.

Danke für dein Beispiel. Jetzt ist die Sache ein wenig klarer geworden :)