2016-04-04 11 views
0

私は自分自身を夢中にしています。どのようにQtreeViewをC++で実装することができますか?私はこれに新しいです、私はC#とwpfの背景があります。助けていただきありがとうございます。基本的な質問には申し訳ありませんが、簡単な例を示したオンラインの解決策は見つかりませんでした。すべての例は、私がやっていることではないファイルとフォルダを示しています。QTreeviewにアイテムC++を埋め込む

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

これは

#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 
+0

ファイルとフォルダを示す例と同じ方法で行います。たとえば、「スポーツ」は「サッカー」、「バスケットボール」、「サッカー」、および「テニス」ファイルを含むフォルダです。ファイルやフォルダを表示していなくても、アイテムを構成するコードは同じです。 –

+0

Nitpicks: ''、 ''と 'QMainWindow'を含める必要はありません。 ''を含めれば十分です。また、 '' ui_mainwindow.h ''をインクルードし、' ui'をポインタではなく値で保持することもできます:) –

答えて

1

QTreeViewは、あなたのモデルクラスを使用する必要がファイル私mainwindow.hです。 QStringとアイコンなどで動作するQTreeWidgetを使用してみてください。スニペットをメインウィジェットのコンストラクタに入れてみてください。 1つの副項目と1つの追加列を持つ最上位項目を示します。デザイン時にすべてのアイテムが分かっている場合は、それらをQtデザイナに追加します。

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(); 
関連する問題