QtableWidget中的主键 - 如果行存在则更新,否则添加

时间:2013-04-03 23:50:31

标签: c++ qt qtablewidget

成为Qt的新手。我想知道是否有办法在QtableWidget中添加主键。我想这样做的原因是因为我想创建一个机制,这样如果我添加一个不具有键的行在表中它被添加为一个新行,否则具有该键的现有行会更新。关于如何实现这一点的任何建议?

2 个答案:

答案 0 :(得分: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 */ );
        }

答案 1 :(得分:0)

使用QTableWidgetItem::setData ( int role, const QVariant & value )方法设置自定义role的数据(主键),然后QVariant QTableWidgetItem::data ( int role )进行检索。 role应为Qt::UserRole或高于32的任何数字。有关详细信息,请参阅QTableWidgetItem::setData(int role, const QVariant & value)的参考。

如果您是Qt新手,则应该查找Qt model/view,在您的情况下,您可以明智地办理model的签入,并在QTableView而不是{{}中显示模型的数据1}}。