I'm trying to use custom items in QTreeWidget. e.g:
#include <QTreeWidgetItem>
#include "unit.h" // header with any class
class tree_item : public QTreeWidgetItem
{
public:
tree_item(unit *object);
unit *object() const;
// ...
};
#include <QTreeWidgetItem>
#include "unit.h" // header with any class
class tree_item : public QTreeWidgetItem
{
public:
tree_item(unit *object);
unit *object() const;
// ...
};
To copy to clipboard, switch view to plain text mode
#include "tree_item.h"
tree_item::tree_item(unit *object)
: QTreeWidgetItem(SOME_USER_TYPE)
{
setText(0, *(object->name()));
}
// ...
#include "tree_item.h"
tree_item::tree_item(unit *object)
: QTreeWidgetItem(SOME_USER_TYPE)
{
setText(0, *(object->name()));
}
// ...
To copy to clipboard, switch view to plain text mode
I can add my custom item to a QTreeWidget. But when I'm trying to get it back, tree is returning item of type QTreeWidgetItem.. In short, I'm loosing data
// ...
QTreeWidget *tree = new QTreeWidget();
tree_item *item = new tree_item(new unit(10, 12));
tree->addTopLevelItem(item);
// ...
// ...
QTreeWidget *tree = new QTreeWidget();
tree_item *item = new tree_item(new unit(10, 12));
tree->addTopLevelItem(item);
// ...
To copy to clipboard, switch view to plain text mode
This part of code works properly, I can see my object's name in column 0. But if I use,
for example: tree->itemAt(some_point) of course it gives me item of type QTreeWidgetItem* not tree_item*
Can someone give me ideas? (If possible, without inheriting QTreeWidget)
Thanks in advance
Bookmarks