[Qtscript-bindings] QTreeWidget, deleting/removing an item
Jostein Topland
josteint at sim.no
Wed Oct 15 13:21:05 CEST 2008
This new prototype QTreeWidgetItem.remove(QTreeWidget) seems to successfully delete QTreeWidgetItem in a QTreeWidget.
This example shows a tree and deletes items by clicking on the items.
function main()
{
var treeWidget = new QTreeWidget();
// add some items
var root = treeWidget;
var a = new QTreeWidgetItem(root, ["a"]);
var b = new QTreeWidgetItem(root, ["b"]);
var c = new QTreeWidgetItem(root, ["c"]);
var d = new QTreeWidgetItem(root, ["d"]);
var e = new QTreeWidgetItem(d, ["e"]);
var f = new QTreeWidgetItem(e, ["f"]);
// show and expand the tree
treeWidget.show();
treeWidget.expandAll();
// successfully delete an item by pressing it
treeWidget.itemPressed.connect(this, function(item) {
item.remove(treeWidget);
});
}
QTreeWidgetItem.prototype.remove = function(treeWidget)
{
var parent = this.parent();
if (!parent)
parent = treeWidget.invisibleRootItem();
var index = parent.indexOfChild(this);
parent.takeChild(index);
}
Jostein Topland
Kongsberg SIM
Jostein Topland wrote:
> How is deleting items in a QTreeWidget done in QtScript?
>
> The following examples explains what I am trying to do.
> Both examples are equal, but in different languages.
> Look at line 15 on QtScript example.
>
> /* Here is a working example in C++ */
> 1 #include <QApplication>
> 2 #include <QTreeWidget>
> 3
> 4 int main(int argc, char *argv[])
> 5 {
> 6 QApplication app(argc, argv);
> 7
> 8 QTreeWidget *treeWidget = new QTreeWidget();
> 9 treeWidget->show();
> 10
> 11 // add some items
> 12 new QTreeWidgetItem(treeWidget, QStringList("first"));
> 13 new QTreeWidgetItem(treeWidget, QStringList("second"));
> 14 new QTreeWidgetItem(treeWidget, QStringList("third"));
> 15
> 16 // select the first item
> 17 treeWidget->setCurrentItem(treeWidget->itemAt(0, 0));
> 18
> 19 // delete the selected item... OK!
> 20 delete treeWidget->selectedItems()[0];
> 21
> 22 return app.exec();
> 23 }
>
> /* Here is a non-working example in QtScript */
> 1 function main()
> 2 {
> 3 var treeWidget = new QTreeWidget();
> 4 treeWidget.show();
> 5
> 6 // add some items
> 7 new QTreeWidgetItem(treeWidget, ["first"]);
> 8 new QTreeWidgetItem(treeWidget, ["second"]);
> 9 new QTreeWidgetItem(treeWidget, ["thirs"]);
> 10
> 11 // select the first item
> 12 treeWidget.setCurrentItem(treeWidget.itemAt(0, 0));
> 13
> 14 // delete the selected item... nothing happends??
> 15 delete treeWidget.selectedItems()[0];
> 16 }
>
>
> Jostein Topland
> Kongsberg SIM
>
> _______________________________________________
> Qtscript-bindings mailing list
> Qtscript-bindings at kde.org
> https://mail.kde.org/mailman/listinfo/qtscript-bindings
>
More information about the Qtscript-bindings
mailing list