0

刚接触 Qt。我想知道是否有一种方法可以在 . 中添加主键QtableWidget。我想这样做的原因是因为我想创建一种机制,以便如果我添加一个带有不在表中的键的行,它会得到添加为新行,否则具有该键的现有行将被更新。关于如何完成此操作的任何建议?

4

2 回答 2

0
        // Assuming m_table of QTableWidget* type
        // Assuming single column

        const int rowCount = m_table->rowCount();
        if(rowToInsert < rowCount)
        { 
           m_table->setItem(rowToInsert, 0, /* your data */ );
        }
        else
        {
          m_table->setRowCount(rowCount + 1);
          m_table->setItem(rowCount + 1, 0, /* your data */ );
        }
于 2013-04-04T05:28:14.533 回答
0

使用QTableWidgetItem::setData ( int role, const QVariant & value )方法通过 custom 设置您的数据(主键)role,并QVariant QTableWidgetItem::data ( int role )检索它。role应该是Qt::UserRole或高于 的任何数字32。有关更多信息,请参阅QTableWidgetItem::setData(int role, const QVariant & value)参考。

如果您是 Qt 新手,您应该寻找Qt model/view,在您的情况下,签入model并显示模型的数据QTableView而不是QTableWidget.

于 2013-04-04T08:21:22.710 回答