如何在列表视图上显示元素向量?

问题描述 投票:0回答:1

我有两个函数

getProjects()
getEmployees()
,位于
manage
中名为
manage.h
的类中,它们基本上返回一个向量,其中包含到目前为止我添加的所有项目/员工。

如何在我的 Qt 应用程序界面中显示它?

我创建了两个按钮(在

stackedWidget
中),一个用于在单击时获取所有项目,另一个用于员工,我还使用了一个
QListView
,当我单击时应显示我的所有数据两个按钮之一,但我如何告诉 QListView 显示我的矢量元素?

我认为解决方案看起来像这样:

void MainWindow::on_showAllProjects_pushButton_clicked()
{
    ui->listView->something(manage.getProjects());
}
c++ qt qlistview qtwidgets
1个回答
0
投票

您首先需要一个 QStringList 来放入向量的元素,然后是一个 QStringListModel,您需要将其字符串列表设置为您的字符串列表,然后将此 QStringListModel 设置为您的列表视图模型,这就是您所需要的。

这是一个例子:

QStringListModel *model = new QStringListModel(this);

QStringList List;
List << "Project1" << "Project2" << "Project3";

model->setStringList(List);
ui->listView->setModel(model);

如果你不必使用基于模型的列表,你可以使用QListWidget代替,它提供了一个方法

addItem()
,与QListView相比非常简单。

更多信息:Qt5 教程 ModelView 与 QListView 和 QStringListModel

© www.soinside.com 2019 - 2024. All rights reserved.