Tableview 将图像设置为图标,而不将路径显示为文本

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

我有一个 4 列的 QtableView,我正在从 .csv 文件填充它。第一列单元格显示图像文件夹中的自定义图标,其余列仅是文本。一切都按预期工作,但图标图像的路径显示为同一单元格中图像旁边的文本。有没有办法只显示图像而不显示图像的路径?

{
QFile file("/home/image.csv");
    if (file.open(QIODevice::ReadOnly))
    {
        int lineindex = 0;
        QTextStream in(&file);

        while (!in.atEnd()) {

            QStringList lineToken;
            QString fileLine = in.readLine();

            lineToken = fileLine.split(",", QString::SkipEmptyParts);

            for (int j = 0; j < lineToken.size(); j++)
            {
                QString myValue = lineToken.at(j);
                QStandardItem *lineItem = new QStandardItem(myValue);
                lineItem->setIcon(QIcon(myValue));

                modeli->setItem(lineindex, j, lineItem);
            }
            lineindex++;
        }
        file.close();
        ui->tableView->setModel(modeli);
    }
    ui->tableView->resizeRowsToContents();
}
c++ qt qtableview qicon
1个回答
0
投票

我终于成功了。谢谢musicamante,你的评论让我思考了一种不同的方法来解决这个问题。

{
QFile file("/home/user/images/image.csv");
if (file.open(QIODevice::ReadOnly))
{
    int lineindex = 0;          
    QTextStream in(&file);      

    while (!in.atEnd()) {

        QStringList lineToken;
        QString fileLine = in.readLine();   

        lineToken = fileLine.split(",", QString::SkipEmptyParts);

        for (int j = 0; j < lineToken.size(); j++)
        {
            QString myValue = lineToken.at(j);
            QStandardItem *lineItem = new QStandardItem(myValue);
            QStandardItem *lineItem1 = new QStandardItem();

            QString myPath = myValue.prepend("/home/user");

            lineItem1->setIcon(QIcon(myPath));

            modeli->setItem(lineindex, 0, lineItem1);
            modeli->setItem(lineindex, j, lineItem);
        }
        lineindex++;
    }
    file.close();
    ui->tableView->setModel(modeli);
}
ui->tableView ->setIconSize(QSize(300, 300));
ui->tableView->resizeRowsToContents();
ui->tableView->resizeColumnsToContents();

}

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