Seite 1 von 1

QTreeWidget Model?????

Verfasst: 20. Mai 2008 10:16
von tomsi
Hallo! Kann mir irgendjemand ein kurzes Codebeispiel posten, wie man ein TreeWidget mit Models nutzt (einfügen, löschen und bearbeiten von Zeilen)? Ich blicke da einfach nicht durch...

Schon mal danke im voraus...

Verfasst: 25. Mai 2008 09:29
von ArneStocker
.. ich dachte ich hätte schon geantwortet, aber irgendwie ist meine Nachricht wohl im Nirwana verschwunden :?:

Fang doch bitte einfach mal mit einem einfachen (vorgefertigten) QStringListModel an, das Du mit Deinem View verbindest. Anschließend versuche mal, ein StringListModel selbst nachzubauen.

Code: Alles auswählen

public class TestMain extends QDialog {

    public static void main(String[] args) {
        QApplication.initialize(args);
        TestMain dialog = new TestMain();
        dialog.exec();
    }

    public TestMain() {
        super();
        // Layout hinzufügen
        QHBoxLayout layout = new QHBoxLayout(this);
        this.setLayout(layout);
        
        // View setzten
        QTreeView treeView = new QTreeView(this);
        treeView.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection);
        treeView.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows);
        layout.addWidget(treeView);
        
        // Stringlist erstellen
        List<String> stringlist = new LinkedList<String>();
        stringlist.add("erste Zeile");
        stringlist.add("zweite Zeile");
        stringlist.add("dritte Zeile");
        
        // Stringlist Model erstellen
        QStringListModel stringlistmodel = new QStringListModel();
        stringlistmodel.setStringList(stringlist);
        treeView.setModel(stringlistmodel);
    }
}
Gruß Arne

PS.: das Bearbeiten der Zeilen erfolgt über sog. Delegates, da gibt es vorgefertigte, die kannst Du aber auch abwandeln.