Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在QTableWidget的标题中创建复选框?_Qt_Checkbox_Qtablewidget - Fatal编程技术网

如何在QTableWidget的标题中创建复选框?

如何在QTableWidget的标题中创建复选框?,qt,checkbox,qtablewidget,Qt,Checkbox,Qtablewidget,我需要创建一个这样的表。当我选中标题中的复选框时,将自动选中同一列中的所有复选框。如何在标题中创建复选框,以及如何为该复选框设置信号槽 这是我的旧代码: ui.table->setEditTriggers(QAbstractItemView::NoEditTriggers); ui.table->verticalHeader()->hide(); ui.table->setRowCount(8); ui.table->setColumnCount(3); ui.ta

我需要创建一个这样的表。当我选中标题中的复选框时,将自动选中同一列中的所有复选框。如何在标题中创建复选框,以及如何为该复选框设置信号槽

这是我的旧代码:

ui.table->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui.table->verticalHeader()->hide();
ui.table->setRowCount(8);
ui.table->setColumnCount(3);
ui.table->setHorizontalHeaderLabels(QStringList() << tr(" ") << tr("Interger") << tr("String"));

for (int i = 0; tableindb.size() > i; i++){
    myconstruct ptv = tableindb.value(i);
    QTableWidgetItem *itemCheckbox = new QTableWidgetItem(" ");
    itemCheckbox->setCheckState(Qt::Unchecked);
    ui.table->setItem(i, 0, itemCheckbox);
    itemCheckbox->setData(Qt::ItemDataRole::UserRole, ptv.usercheck);

    QTableWidgetItem *itemNumber = new QTableWidgetItem("Integer");
    itemNumber->setData(Qt::ItemDataRole::DisplayRole, ptv.usernumber);
    ui.table->setItem(i, 1, itemNumber);

    QTableWidgetItem *itemName = new QTableWidgetItem("String");
    itemName->setData(Qt::ItemDataRole::DisplayRole, ptv.username);
    ui.table->setItem(i, 2, itemName);
}
ui.table->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui.table->verticalHeader()->hide();
ui.table->setRowCount(8);
ui.table->setColumnCount(3);
ui.table->setHorizontalHeaderLabels(QStringList()setItem(i,0,itemCheckbox);
itemCheckbox->setData(Qt::ItemDataRole::UserRole,ptv.usercheck);
QTableWidgetItem*itemNumber=新的QTableWidgetItem(“整数”);
itemNumber->setData(Qt::ItemDataRole::DisplayRole,ptv.usernumber);
ui.table->setItem(i,1,itemNumber);
QTableWidgetItem*itemName=新的QTableWidgetItem(“字符串”);
itemName->setData(Qt::ItemDataRole::DisplayRole,ptv.username);
ui.table->setItem(i,2,itemName);
}

是您要找的吗?@G.M:否,我尝试了
QTableWidgetItem*checkbox=new QTableWidgetItem(“”);checkbox->setCheckState(Qt::Unchecked);ui.tableReitstehende->setHorizontalHeaderItem(0,复选框);
。但它不起作用。好的。可能的重复?可能的重复是您正在寻找的?@G.M.:不,我尝试了
QTableWidgetItem*checkbox=new QTableWidgetItem(“”;checkbox->setCheckState(Qt::Unchecked);ui.tableReitstehende->setHorizontalHeaderItem(0,checkbox);
。但它不起作用。好的。可能重复?可能重复