我有一个像这样的结构或链表:
typedef struct Node
{
int k;
char *mesage;
struct Node *next;
} node;
我想输入k
的值,打印它,然后打开一个窗口屏幕,以Qt库创建的表格的形式显示所有输入值。
答案 0 :(得分:0)
您需要重新实现QAbstractTableModel,然后使用QTableWidget来访问它。
编辑:我刚注意到您的模型看起来是基于树而不是基于表格,因此您应该将QAbstractItemModel与QTreeView结合使用。如果您的数据真的是一棵树,那么这不是太痛苦,因为您可以使用大多数方法的默认实现。当您尝试使非树数据看起来像树时,它会变得很烦人。最好在开始之前阅读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);