gpt4 book ai didi

c++ - 只有一列适合其内容大小,而其他列则拉伸(stretch)

转载 作者:太空宇宙 更新时间:2023-11-04 12:34:43 25 4
gpt4 key购买 nike

我有一个看起来像这样的表:

  |   column1   |   column2    |   column 3
-------------------------------------------
1 | name1 | value1 | class1
2 | name2 | value2 | class2
3 | name3 | value3 | class3

我将表格小部件定义为:

ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableWidget->setColumnCount(3);
ui->tableWidget->setHorizontalHeaderLabels({"column1", "column2", "column3"});
ui->tableWidget->setItem(currentRow, 0, new QTableWidgetItem(name));
ui->tableWidget->setItem(currentRow, 1, new QTableWidgetItem(values.toString()));
ui->tableWidget->setItem(currentRow, 3, new QTableWidgetItem(class));

我希望我的表格看起来像这样:

  |   column1   |column2|   column 3
-------------------------------------------
1 | name1 |value1 | class1
2 | name2 |value2 | class2
3 | name3 |value3 | class3

我怎样才能实现只有 column2(连同它的值)来适应它的内容?

最佳答案

您可以通过重载 setSectionResizeMode 来实现此目的将列索引作为第一个参数:

ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Fixed);

然后,在插入所有项目后,调用 resizeColumnToContents在固定大小的列上调整其宽度。

完整代码如下:

ui->tableWidget->setColumnCount(3);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Fixed);
ui->tableWidget->setHorizontalHeaderLabels({"column1", "column2", "column3"});

// Insert items here...

ui->tableWidget->resizeColumnToContents(1);

您可以在 GitHub 中找到完整示例.

关于c++ - 只有一列适合其内容大小,而其他列则拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56925947/

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