Hilfe zu QStandardItemModel bzw. QTreeView
Verfasst: 5. Juli 2010 17:24
Hallo,
ich habe ein kleines Programm geschrieben, das mir Text-Dateien mit Messwerten konvertiert und daraus den minimal, maximal und Mittelwert berechnet. Dies Infos möchte ich nun in einer Tabelle und Baum darstellen.
Leider habe ich bereits mit dem Erstellen des QtreeView und dem QTableView meine Probleme. Hierzu habe ich versucht das Beispiel zu QtreeView (siehe QT Hilfe) umzusetzen.
Wenn ich das Programm ausführe, bleibt das Fenster leer.
Was mache ich falsch?
Header-Datei:
Programm:
ich habe ein kleines Programm geschrieben, das mir Text-Dateien mit Messwerten konvertiert und daraus den minimal, maximal und Mittelwert berechnet. Dies Infos möchte ich nun in einer Tabelle und Baum darstellen.
Leider habe ich bereits mit dem Erstellen des QtreeView und dem QTableView meine Probleme. Hierzu habe ich versucht das Beispiel zu QtreeView (siehe QT Hilfe) umzusetzen.
Wenn ich das Programm ausführe, bleibt das Fenster leer.
Was mache ich falsch?
Header-Datei:
Code: Alles auswählen
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QTreeView>
#include <QTableView>
#include <QHBoxLayout>
#include <QStandardItemModel>
#include <QStandardItem>
QT_BEGIN_NAMESPACE
class QAbstractItemModel;
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QTreeView *tree;
QTableView *table;
QStandardItemModel treeModel;
QStandardItemModel *tableModel;
};
#endif // MAINWINDOW_HProgramm:
Code: Alles auswählen
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QStandardItemModel treeModel;
QStandardItem *parentItem = treeModel.invisibleRootItem();
for (int i = 0; i < 4; ++i)
{
QStandardItem *item = new QStandardItem(QString("item %0").arg(i));
parentItem->appendRow(item);
parentItem = item;
}
QStandardItemModel tableModel(4, 4);
for (int row = 0; row < 4; ++row)
{
for (int column = 0; column < 4; ++column)
{
QStandardItem *item = new QStandardItem(QString("row %0, column %1").arg(row).arg(column));
tableModel.setItem(row, column, item);
}
}
QTreeView *tree = new QTreeView;
QTableView *table = new QTableView;
tree->setModel(&tableModel);
table->setModel(&tableModel);
QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addWidget(tree);
mainLayout->addWidget(table);
setLayout(mainLayout);
}
MainWindow::~MainWindow()
{
}