c++ - QTreeWidgetItem 数据

标签 c++ qt

我有以下数据:

1.0 2.0 3.1 4.1 5.2

其中 Index.SubIndex 但我想在 QTreeWidget 中显示如下:
索引1
索引3
索引4
索引2
索引 5

但我做了以下操作:

QTreeWidgetItem *child = new QTreeWidgetItem();
child->setText("Index " + QString::number(index));

但是我想保存隐藏数据,当用户选择树的任何项目时我应该获取这些数据。 我怎样才能做到这一点?我可以使用哪个信号/插槽?我的意思是我不应该得到“索引 1”或“索引 2”等,我应该得到 1,2,3,4,5,6 a 等。解析文本不是解决方案。

最佳答案

你的问题我有一半没听懂。但是为了将自定义数据存储在 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();

关于c++ - QTreeWidgetItem 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22777737/

相关文章:

c++ - 检查模板参数是否有成员函数

c++ - Qt 自动化测试

c++ - 隐藏自定义 QwtSymbol 的边界矩形

c++ - 在执行 buttonReleased() 之前等待 buttonPressed() 插槽完成

c++ - 错误: variable or field 'functionName' declared void

c++ - 如何自动更改变量的赋值?

c++ - 类型列表上的编译时映射

c++ - 为什么要为 char* 和 wchar* 而不是其他原始类型制作一个特殊版本的 uninitialized_copy()?

c++ - 纯虚方法调用 Error Google Protocol Buffer

c++ - 没有线程安全开销的 QSharedPointer?