我有以下数据:
1.0 2.0 3.1 4.1 5.2其中Index.SubIndex,但我想在QTreeWidget中显示如下:
指数1
=‘3’=‘3’=
=
指数2
=
但我做到了以下几点:
QTreeWidgetItem *child = new QTreeWidgetItem();
child->setText("Index " + QString::number(index));但是我想保存隐藏的数据,当用户选择任何树项时,我应该得到这些数据。我怎么能这么做?我可以用哪个信号/插槽呢?我的意思是,我不应该得到“索引1”或“索引2”等等,我应该得到1,2,3,4,5,6等等,而解析文本不是解。
发布于 2014-04-01 09:12:00
我不明白你一半的问题。但是,为了将自定义数据存储在QTreeWidgetItem中,我将对其进行子类处理:
class my_tree_item : public QTreeWidgetItem
{
public:
my_tree_item(custom_data* d, QString& str) { this->dat=d; QTreeWidgetItem(str); }
~my_tree_item();
inline custom_data* get_data { return this->dat; }
private:
custom_data* dat;
};如果然后从一个信号接收到一个QTreeWidgetItem,您可以简单地检索数据。
custom_data* c = static_cast<my_tree_item*>(some_qtreewidgetitem)->get_data();发布于 2020-01-10 18:05:57
使用Qt::UserRole数据字段存储自定义数据,并在选择QTreeItemWidget时检索该数据:
QTreeWidgetItem* child = new QTreeWidgetItem();
child->setText(0, "Index " + QString::number(index));
// save internal data to retrieve later on
child->setData(0, Qt::UserRole, QVariant(index));https://stackoverflow.com/questions/22777737
复制相似问题