使用项目C ++填充QTreeview

时间:2016-04-04 14:12:36

标签: c++ qt

我在这里疯狂。如何使用QtCreator在C ++中使用一些简单的数据填充QTreeView?我是新手,我有C#和wpf的背景。感谢您的帮助和对不起的基本问题,但我没有找到一个在线解决方案,显示一个简单的例子。所有示例都显示文件和文件夹,这不是我正在做的。

Sports
|____ Soccer
|____ Basketball
|____ Football
|____ Tennis
Teams
|____ Cowboys
|____ Packers
|____ Lions
|____ Tennessee
Players
|____ Ronald
|____ Warner
|____ Robinson

这是我的 mainwindow.h 文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtCore>
#include <QtGui>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

1 个答案:

答案 0 :(得分:1)

QTreeView需要使用您的模型类。尝试使用可以使用QString和图标等的QTreeWidget。尝试将代码段放入主窗口小部件的构造函数中。它显示顶级项目,其中包含一个子项目和一个附加列。如果您在设计时知道所有项目,则可以在Qt Designer中添加它们。

auto w = new QTreeWidget;
w->setColumnCount(2);
auto t = new QTreeWidgetItem(QStringList() << "Top" << "Col2 a");
auto i = new QTreeWidgetItem(QStringList() << "Some" << "Col2 b");
t->addChild(i);
w->addTopLevelItem(t);
w->show();