Qtreewidget und Objektinitialisierung



  • Hallo werte Forenmitglieder,

    Seitdem ich vor ca. knapp einem Monat angefangen habe zu programmieren, habe ich gute Fortschritte erzielt. Zum Thema C++ gibt es ja viele nützliche Quellen. Bei der Verwendung von QT Creator hapert es aber noch ganz schön bei mir. Ich empfinde es als recht mühsam mich da einzuarbeiten, da es hier sehr viel weniger nachvollziehbare Beispiele gibt als für C++.
    Nun gut, was genau ist die Herausforderung vor der ich stehe?
    Ich möchte ein Programm schreiben das die Dichte von Gasgemischen berechnet.
    Der Programmteil der rechnet arbeitet wunderbar. Ich möchte die Werte aber nicht alle mühsam jedes mal einzeln eintippen, sondern aus einem Treewidget einfach ein Gas auswählen. Nachfolgend mein Treewidget. Bisher habe ich nur den Verzeichnisbaum zustande bekommen. Die Funktionen sind im header initialisiert.

    Weis wer wie man da sinnvollerweise externe Daten abruft und für ein editiertes Item dann an eine Funktion übergibt. Oder noch besser damit ein Objekt initialisiert?

    #include "widget.h"
    #include "ui_widget.h"

    Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
    {
    ui->setupUi(this);

    ui->treeWidget->setColumnCount(1); //Zweite Spalte deaktiviert, optional.
    ui->treeWidget->setHeaderLabels(QStringList() << "Name");

    Edelgase("Edelgase", " ");
    Halogene("Halogene", " ");
    }

    Widget::~Widget()
    {
    delete ui;
    }

    void Widget::Edelgase(QString name, QString Beschreibung)
    {
    QTreeWidgetItem *itm = new QTreeWidgetItem(ui->treeWidget);
    itm->setText(0,name);
    itm->setText(1,Beschreibung);
    ui->treeWidget->addTopLevelItem(itm);

    AddChild(itm,"Helium ", "");
    AddChild(itm,"Neon ", "");
    AddChild(itm,"Argon ", "");
    AddChild(itm,"Krypton", "");
    AddChild(itm,"Xenon ", "");
    }

    void Widget::Halogene(QString name, QString Beschreibung)
    {
    QTreeWidgetItem *itm = new QTreeWidgetItem(ui->treeWidget);
    itm->setText(0,name);
    itm->setText(1,Beschreibung);
    ui->treeWidget->addTopLevelItem(itm);

    AddChild(itm,"Fluor", "");
    AddChild(itm,"Chlor", "");
    AddChild(itm,"Brom ", "");
    }

    void Widget::AddChild(QTreeWidgetItem *parent, QString name, QString Beschreibung)
    {
    QTreeWidgetItem *itm = new QTreeWidgetItem();
    itm->setText(0,name);
    itm->setText(1,Beschreibung);
    parent->addChild(itm);
    }


Anmelden zum Antworten