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