【问题标题】:qtablewidget selectedItems gives empty listqtablewidget selectedItems 给出空列表
【发布时间】:2014-07-20 14:50:03
【问题描述】:

我有一个 qtablewidget,其中一列带有小部件,其他列带有数据。仅显示带有小部件的列,而所有其他列均被隐藏。

foreach (BillHeader *billHeader, billHeaderList)
{
    m_pBillTable->insertRow(i);

    itemWidget = new LookupItem;
    itemWidget->setImage(1);
    ...
    m_pBillTable->setCellWidget(i, 0, itemWidget);

    tableItem = new QTableWidgetItem(billHeader->billNumber);
    tableItem->setTextAlignment(Qt::AlignCenter);
    m_pBillTable->setItem(i, 1, tableItem);
    ...

    m_pBillTable->hideColumn(1);
    ...

我有一个信号槽连接如下:

connect(m_pOkButton, SIGNAL(clicked()), this, SLOT(handleOkClick()));

当单击确定按钮时,我尝试获取所选项目并从设置的小部件中获取数据

void OrderLookup::handleOkClick()
{
qDebug()<<Q_FUNC_INFO<<"Invoked";

QList<QTableWidgetItem*> itemList = m_pBillTable->selectedItems();
qDebug()<<Q_FUNC_INFO<<itemList.count();
if (!itemList.isEmpty())
{
    int row = itemList.at(0)->row();
    qDebug()<<Q_FUNC_INFO<<row;
    LookupItem *item = (LookupItem*)m_pBillTable->cellWidget(row, 0);

    if (NULL != item)
    {
        QString billNumber = item->getBillNumber();
        emit orderLookupComplete(billNumber);
        accept();
    }
}

qDebug()<<Q_FUNC_INFO<<"Exits";
}

但我得到的列表计数为零。

该行被选中并突出显示。 我为表格小部件设置了一些属性,如下所示:

m_pBillTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
m_pBillTable->setSelectionBehavior(QAbstractItemView::SelectRows);
m_pBillTable->setSelectionMode(QAbstractItemView::SingleSelection);
m_pBillTable->setFocusPolicy(Qt::NoFocus);

请有人帮我知道为什么列表计数为空..

【问题讨论】:

  • 这是什么意思? “当确定按钮单击时,我尝试获取所选项目并从设置为它的小部件中获取数据”
  • @waaitt:对不起..我已经用信号槽连接更新了问题。

标签: qt


【解决方案1】:

问题解决了..

QItemSelectionModel *itemModel = m_pBillTable->selectionModel();
QModelIndexList indexList = itemModel->selectedRows();
qDebug()<<Q_FUNC_INFO<<"IndexList Count"<<indexList.count();

if (!indexList.isEmpty())
{
    int row = indexList.at(0).row();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多