我尝试了多种方法在 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/