我正在尝试对一些包含关于 QTableWidgetItem::column() 值的 if 语句的 C++ Qt 代码进行单元测试,如下所示:
void on_resultsTable_currentItemChanged(QTableWidgetItem* currentItem, QTableWidgetItem* previousItem)
{
if (currentItem != nullptr)
{
int column = currentItem->column();
if (column == 0)
{
// Column0SpecificBehavior();
}
}
}
为了在 column() == 0 和 column() != 0 的测试用例中测试此函数,我需要创建两个 QTableWidgetItem 实例,一个带有 column() 0,一个带有 column() 1。
我已尝试将此作为使 QTableWidgetItem::column() 返回 0 而不是其默认值 -1 的一种可能方法:
QTableWidget table;
table.insertRow(0);
QTableWidgetItem currentItem("Row0Column0");
table.setItem(0, 0, ¤tItem);
但是上面的代码导致 currentItem 的 column() 仍然返回 -1。
关于如何设置 QTableWidgetItem::column() 的返回值的任何想法?