我想在QTableWidget中隐藏行号列。

5

普通的 QTablewidget 如下:

          a             b
1        data          data
2        data          data
3        data          data

我想要移除显示行号的第一列。 我的表格应该是这样的:
  a             b
data          data
data          data
data          data

我找不到更容易添加项目的方法,请告诉我是否有更简单的方法。 这是我实现表格的方式:

QString a[5];
    a[0]="ddd";
QTableWidgetItem *item1 = new QTableWidgetItem(a[0]);
ui->tableWidget->setItem(0,0,item1 );
1个回答

16

QTable有两个视图:纵向和横向标头,它们在QTableView中定义。作为任何部件,您都可以隐藏它们,因此可以按以下方式完成:

ui->tableWidget->verticalHeader()->setVisible(false); // Get Vertical header and hide it

你可以用一行代码轻松实现垂直的标题:

ui->tableWidget->setHorizontalHeaderLabels(QString("HEADER 1;HEADER 2;HEADER 3;HEADER 4").split(";"));

要在表格中设置数据,您可以使用包含数据的 QString Array ,使用 for 循环将数据存储在表格中,但是您需要注意索引。


@백자현:如果这个答案对你有用,请接受它,这样当其他人遇到相同的问题时也会很有用!! - Amol Saindane
@Amol 没有人会想到 verticalHeader() API。这是有用的信息。+1 - DigviJay Patil
但是那种方式是放置订单,如何确定行? - 백자현
@백자현:例如,您将在表格中设置项目为 table->setItem(0,0,new QTableWidgetItem("ITEM_1-1"));,那么第一个参数是行,第二个参数是列。 - Amol Saindane
我会尝试像对待你一样回答另一个人的问题。 - 백자현

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接