gpt4 book ai didi

c++ - QTableWidget Checkbox 获取状态和位置

转载 作者:行者123 更新时间:2023-11-30 05:45:55 26 4
gpt4 key购买 nike

如何获取所有checkbox的状态和checked的行列?Onclick 按钮函数。

    QTableWidget *t = ui->tableWidget;
t->setRowCount(2);
t->setColumnCount(2);

QStringList tableHeader;
tableHeader<<"item01"<<"item02";
t->setHorizontalHeaderLabels(tableHeader);

for (int i = 0; i < t->rowCount(); i++) {
for (int j = 0; j < t->columnCount(); j++) {
QWidget *pWidget = new QWidget();
QHBoxLayout *pLayout = new QHBoxLayout(pWidget);
QCheckBox *pCheckBox = new QCheckBox();
pLayout->setAlignment(Qt::AlignCenter);
pLayout->setContentsMargins(0,0,0,0);
pLayout->addWidget(pCheckBox);
pWidget->setLayout(pLayout);
t->setCellWidget(i, j, pWidget);
}
}

当我单击按钮时,我需要获取所有选定的元素及其行和列。

void Widget::on_pushButton_clicked()
{

// Code here

// For example: Selected ["item01", 2]
}

最佳答案

我只是遍历所有单元格小部件:

for (int i = 0; i < t->rowCount(); i++) {
for (int j = 0; j < t->columnCount(); j++) {
QWidget *pWidget = t->cellWidget(i, j);
QCheckBox *checkbox = pWidget->findChild<QCheckBox *>();
if (checkbox && checkbox->isChecked())
qDebug() << t->horizontalHeaderItem(j)->text() << i;
}
}

关于c++ - QTableWidget Checkbox 获取状态和位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29176317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com