将存储在结构中的值打印到Qt表中?

时间:2012-06-19 06:40:23

标签: c++ qt

我有一个像这样的结构或链表:

typedef struct Node
{
    int k;
    char *mesage;
    struct Node *next;
} node;

我想输入k的值,打印它,然后打开一个窗口屏幕,以Qt库创建的表格的形式显示所有输入值。

2 个答案:

答案 0 :(得分:0)

您需要重新实现QAbstractTableModel,然后使用QTableWidget来访问它。

编辑:我刚注意到您的模型看起来是基于树而不是基于表格,因此您应该将QAbstractItemModelQTreeView结合使用。如果您的数据真的是一棵树,那么这不是太痛苦,因为您可以使用大多数方法的默认实现。当您尝试使非树数据看起来像树时,它会变得很烦人。最好在开始之前阅读Qt中的the documentation模型/视图编程。

最好的代码示例是Qt Creator附带的代码示例(例如,this one)。

答案 1 :(得分:0)

Node node;

node.k = 5;

QStandardItemModel* model = new QStandardItemModel(this);

QStandardItem* item = new QStandardItem();
item->setData(node.k, Qt::DisplayRole);

model->appendRow(item);

QTableView* table = new QTableView(this);
table->setModel(model);