如何将双打变成QTableWidget?

时间:2013-03-20 12:26:08

标签: qt qtablewidget qtablewidgetitem

我需要用一些双打填充QTableWidget。用户必须能够修改表的内容。

目前,我正在做的是用QTableWidget填充QDoubleSpinner的每个单元格,这允许我定义每个单元格的初始值,范围等。但是,我似乎无法克服一些问题:

  1. 通过细胞切换效果不佳。如果我选择Cell 3,然后单击Cell 10,然后再次点击tab,我仍然会从Cell 3进入下一个单元格,即Cell 4.
  2. 每个单元格都用一个值初始化,例如0.00。当我选中一个单元格时,该值不会完全突出显示,这意味着我不能立即开始键入新值。
  3. 排序不起作用。当我使用table->sortItems(0, Qt::AscendingOrder)时,没有任何反应。我想这是因为QTableWidget只知道如何对QTableWidgetItem个对象进行排序。
  4. 为解决其中一些问题,我尝试使用

    循环遍历表格
    ui->table->item(row, col)->setData(Qt::EditRole, QVariant::Double);
    

    这解决了标签和排序问题,但引入了自己的新问题。

    1. 零值显示为空白单元格,即使每个单元格似乎都使用零值进行初始化。
    2. 我不知道如何设置每个单元格的范围。使用QDoubleSpinner我可以免费获得输入掩码。
    3. 我怎样才能拥有两全其美?

0 个答案:

没有答案