Qt Creator & QGraphicsScene
Verfasst: 29. April 2010 23:41
Hallo alle zusammen!
Ich bin ein ziemlicher Qt Neuling und tüftle schon den ganzen Tag an einem Problem
Ich habe mit Qt Creator ein simples GUI erstellt mit einem QGraphicsView.
Ich würde in diesen GraphicsView gern eine QGraphicsScene integrieren, um darin einen Graph zeichnen zu können.
Ich bekomme es aber einfach nicht hin die GraphicsScene in den GraphicsView einzufügen bzw den GraphicsView zu manipulieren.
Der View wird automatisch vom Qt Creator ins Layout eingebunden, das passiert alles im generierten ui_mainwindow.h, in dem ich ja nichts ändern sollte.
Wenn ich jetzt in meinem Code im mainwindow.cpp im Constructor zB
ui->graphicsView->setBackgroundBrushQColor(0, 0, 0)); schreibe, bleibt der View trotzdem weiss.
auch weiss ich nicht wie ich die Scene zum View hinzufügen soll. Im Colliding Mice Beispiel wurde kein .ui file verwendet und deshalb die Szene gleich im Constructor an den View übergeben. Wie soll ich die Szene übergeben wenn der View Constructor schon im generierten ui_.h aufgerufen wird? Ich will die Szene so übergeben, dass sie in dem "StreamGraph" betitelten View angezeigt wird..
Ich habe den View im Designer wieder rausgelöscht und dann versucht, ihn manuell hinzuzufügen - inklusive Szene im Constructor, aber dann wurde mir nicht mal ein weisser View im Layout angezeigt..
bin also völlig ratlos, wie das nun richtig angestellt wird.
Bitte dringend um Hilfe,
lg
PS: hier mein mainwindow.cpp constructor: (habe zum testen die colliding mice scene verwendet)
EDIT: ich weiss dass "scene" im moment nicht verwendet wird, weil ich eben nicht weiss, wie ich sie einbinden soll..
Ich bin ein ziemlicher Qt Neuling und tüftle schon den ganzen Tag an einem Problem
Ich habe mit Qt Creator ein simples GUI erstellt mit einem QGraphicsView.
Ich würde in diesen GraphicsView gern eine QGraphicsScene integrieren, um darin einen Graph zeichnen zu können.
Ich bekomme es aber einfach nicht hin die GraphicsScene in den GraphicsView einzufügen bzw den GraphicsView zu manipulieren.
Der View wird automatisch vom Qt Creator ins Layout eingebunden, das passiert alles im generierten ui_mainwindow.h, in dem ich ja nichts ändern sollte.
Wenn ich jetzt in meinem Code im mainwindow.cpp im Constructor zB
ui->graphicsView->setBackgroundBrushQColor(0, 0, 0)); schreibe, bleibt der View trotzdem weiss.
auch weiss ich nicht wie ich die Scene zum View hinzufügen soll. Im Colliding Mice Beispiel wurde kein .ui file verwendet und deshalb die Szene gleich im Constructor an den View übergeben. Wie soll ich die Szene übergeben wenn der View Constructor schon im generierten ui_.h aufgerufen wird? Ich will die Szene so übergeben, dass sie in dem "StreamGraph" betitelten View angezeigt wird..
Ich habe den View im Designer wieder rausgelöscht und dann versucht, ihn manuell hinzuzufügen - inklusive Szene im Constructor, aber dann wurde mir nicht mal ein weisser View im Layout angezeigt..
bin also völlig ratlos, wie das nun richtig angestellt wird.
Bitte dringend um Hilfe,
lg
PS: hier mein mainwindow.cpp constructor: (habe zum testen die colliding mice scene verwendet)
Code: Alles auswählen
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QGraphicsScene scene;
scene.setSceneRect(-300, -300, 600, 600);
scene.setItemIndexMethod(QGraphicsScene::NoIndex);
for (int i = 0; i < 7; ++i) {
Mouse *mouse = new Mouse;
mouse->setPos(::sin((i * 6.28) / 7) * 200,
::cos((i * 6.28) / 7) * 200);
scene.addItem(mouse);
}
ui->graphicsView->setBackgroundBrush(QColor(0, 0, 0)); //tut nichts
}