Chciałbym zrobić parser którego wynikiem będzie graficzny interfejs. Już tłumacze o co chodzi :) Załóżmy, że sparsowałem dokument, mam xml. Xml np. składa się z 5 osób, każda osoba ma jakieś tam dane. Chce zrobić coś takiego: w wyniku parsowania otrzymuje tyle prostokątów ile jest osób. Każdy prostokąt ma swoją nazwę - imię i nazwisko. Po kliknięciu na prostokąt otwiera się nowe okno z kolejnymi lub 1 prostokątem w którym zawarte są szczegółowe dane. Nie mam pojęcia jak się za to zabrać. Nie chodzi mi o parsowanie tylko o te prostokąty.
Myślałem, że na początku stworze klasę która będzie dziedziczyć po QGraphicsRectItem. Klasa ta mniej więcej wyglądałaby tak:
class Rectangle : public QObject, public QGraphicsRectItem
{
Q_OBJECT
public:
explicit Rectangle(QString desc);
signals:
public slots:
private:
QString description;
// QGraphicsItem interface
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
};
Następnie tworzyłbym tyle obiektów tej klasy ile jest osób. Jeżeli chodzi o rozmieszczenie tych prostokątów to na sztywno ustawiał bym je w pętli. Teraz nie wiem jak zrobić żeby po kliknięciu na jakiś prostokąt otworzyło by się nowe okno z nowymi (lub 1) prostokątami. W metodzie mousePressEvent(QGraphicsSceneMouseEvent *event); tworzyć nową scene i tam od nowa tworzyć nowe obiekty prostokątów? Jak możecie doradźcie coś. Może będziecie mieli jakieś lepsze pomysły.