treecombobox.hqt QComboBox setView zu QTreeView nicht tun kann setCurrentIndex
#ifndef TREECOMBOBOX_H
#define TREECOMBOBOX_H
#include <QComboBox>
#include "QAbstractItemView"
#include "QTreeView"
class TreeComboBox : public QComboBox
{
Q_OBJECT
public:
explicit TreeComboBox(QWidget *parent = 0);
~TreeComboBox();
protected:
QTreeView* internalView;
signals:
public slots:
};
#endif // TREECOMBOBOX_H
treecombobox.cpp
#include "treecombobox.h"
TreeComboBox::TreeComboBox(QWidget *parent) :
QComboBox(parent){
this->internalView = new QTreeView(parent);
this->setView(this->internalView);
QAbstractItemModel* model = this->internalView->model();
model->insertRows(0, 2);
model->setData(model->index(0,0), "First");
model->setData(model->index(1,0), "Second");
this->view()->setCurrentIndex(model->index(1,0));
}
TreeComboBox::~TreeComboBox(){
if(this->internalView){
delete this->internalView;
this->internalView = 0;
}
}
ich den zweiten Punkt zeigen wollen, aber qt gibt mir das erste Element. this-> view() -> currentIndex() gibt mir den richtigen Modellindex, aber das Widget zeigt nicht den richtigen Inhalt.
Was ich will, ist ein Kombinationsfeld mit Baumansicht Popup-Box. Das Popup-Fenster funktioniert einwandfrei. Das einzige Problem ist, dass es schief geht, wenn ich versuche, einen Gegenstand automatisch im Programm zu wählen.
Kann mir jemand sagen, wie es geht?