qt - Qt setHorizo​​ntalHeaderLabel for qtableWidget

标签 qt user-interface qtablewidget qlist

如何使用 tableWidget setHorizo​​ntalHeaderLabels 属性为列指定名称,而不是数字?我想将行保留为数字,但将列更改为已收集到 QList 中的名称。

现在,我将的值设置为整数。当我尝试使用 setHorizo​​ntalHeaderLabels 时,似乎列的整数值会覆盖我尝试指定的列名,但我不知道如何解决。

这就是我设置当前值的方式,该值仅涉及行和列的整数值:

    QList< QStringList > columnHeaderList; 

    //--- create the horizontal (column) headers
    QStringList horzHeaders;
    ui->tableWidget_inputPreview->setHorizontalHeaderLabels( horzHeaders );
    horzHeaders << "test1" << "test2" << "test3"; 

    ui->tableWidget_inputPreview->setRowCount( rowList.size() - 1 );
    ui->tableWidget_inputPreview->setColumnCount( columnHeaderList[0].size() );

for ( int row = 0; row < rowList.size(); ++row ) {
    for ( int column = 0; column < rowList[row].size(); ++column ) {
        ui->tableWidget_inputPreview->setItem(row, column, new QTableWidgetItem(rowList[row][column]));
    }
}

我需要一些有关如何正确地从 QList 中获取值并将列设置为 tableWidget 的值的指导。我的tableWidget中出现的列是1、2、3、4、5、6、7,这是通过在 setColumnCount 中而不是 test1,test2,test3 中传递给它的项目数得出的。

最佳答案

在您的示例中,将setHorizo​​ntalHeaderLabels设置为空列表。在设置标题之前,请确保将其填充。另外,在设置列数后设置标题。

这是您想要的顺序:

//--- create the horizontal (column) headers
QStringList horzHeaders;
horzHeaders << "test1" << "test2" << "test3";
ui->tableWidget_inputPreview->setRowCount( rowList.size() - 1 );
ui->tableWidget_inputPreview->setColumnCount( columnHeaderList[0].size() );
ui->tableWidget_inputPreview->setHorizontalHeaderLabels( horzHeaders );

关于qt - Qt setHorizo​​ntalHeaderLabel for qtableWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10819848/

相关文章:

c++ - 动态文字大小QLabel

qt - Windows 10 中 QHeaderView 没有水平线

c++ - 如何使 QTableWidget 中的单元格小部件的背景不可选?

qt - 将 QFile 传递给函数

c++ - 为什么 QVariant 将 char 类型视为整数类型?

jquery - 子 div 的宽度应为 100%

iOS : Fail to show Login prior to Tabs Successfully

c# - 创建动态用户界面?

python - PyQt5.如何更改表的内容?

sql - 使用 qt 连接到 SQL Server