Qt - QTableWidget 单元格中的 QIcon

标签 qt icons qtablewidget

我尝试了多种方法在 QTableWidget 单元格中显示 QIcon,但我不确定为什么它不起作用。我有一个按钮,按下时会在表格中添加一行。这是代码...

void MainWindow::pressed()
{
    QTableWidgetItem *item = new QTableWidgetItem("Hello, world!");
    QTableWidgetItem *icon_item = new QTableWidgetItem;
    QIcon icon("/verified/path/to/icon.png");
    icon_item->setIcon(icon);

    int row = ui->tableFeed->rowCount();
    ui->tableFeed->insertRow(row);
    ui->tableFeed->setItem(row, 0, icon_item);
    ui->tableFeed->setItem(row, 1, item);
}

它只是不起作用。该单元格中没有显示任何内容。有任何想法吗?

编辑:我将它设置为 icon 的 setItem 调用是一个错字。实际代码将其设置为 QTabeWidgetItem icon_item .我在上面的代码中更正了它。

最佳答案

您必须将图标设置为 QTableWidgetItem然后加载图标项目而不是图标本身。

QTableWidgetItem *item = new QTableWidgetItem("Hello, world!");
QTableWidgetItem *icon_item = new QTableWidgetItem;
QIcon icon("/verified/path/to/icon.png"); // It is better to load the icon from the
                                          // resource file and not from a path 
icon_item->setIcon(icon);

int row = ui->tableFeed->rowCount();
ui->tableFeed->insertRow(row);
ui->tableFeed->setItem(row, 0, icon_item);
ui->tableFeed->setItem(row, 1, item);

如果您可以看到字符串项目而不是图标,则图标路径有问题。

关于Qt - QTableWidget 单元格中的 QIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8070210/

相关文章:

python - 如何增加pyqt4中QTableWidget中标题标签的行高和行项目的字体大小

c++ - 列出将所有 setter 函数作为 Qt 中的 SLOTS 的缺点(性能/维护等)?

c++ - 为什么我的代码无法读取 QTcpSocket 上可用的字节数?想法?

python - 动态 QTableWidget 上的跨列单元格验证

css - 基本 Casper 主题中的字体更改导致图标消失

android - Android 通知操作按钮中的图标大小是多少?

python - 在pyqt qtablewidget中排序

c++ - 自定义外观 QTabWidget

c++ - QtCreator 中针对 C++ 类型的自动补全

android - 升级时从主屏幕上删除应用程序图标