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...
QTreeWidget Model?????
-
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
.. 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.
Gruß Arne
PS.: das Bearbeiten der Zeilen erfolgt über sog. Delegates, da gibt es vorgefertigte, die kannst Du aber auch abwandeln.
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);
}
}
PS.: das Bearbeiten der Zeilen erfolgt über sog. Delegates, da gibt es vorgefertigte, die kannst Du aber auch abwandeln.