qt 中 ui->tableWidget->setShowGrid(true); 设置无子网格 不起作用
时间: 2024-03-16 21:41:40 浏览: 73
如果在Qt中使用ui->tableWidget->setShowGrid(true);设置无子网格不起作用,可能是因为你的表格单元格没有设置边框为0。你可以使用以下代码设置表格单元格的边框为0:
```
ui->tableWidget->setStyleSheet("QTableView { border: none; }");
```
或者在Qt Designer中将表格单元格的边框设置为0。另外,你还可以尝试使用ui->tableWidget->setStyleSheet("QTableView::item { border: none; }");来设置单元格的边框为0。
相关问题
ui->tableView->verticalHeader()->setDefaultAlignment(Qt::AlignCenter); ui->tableView->verticalHeader()->setVisible(false); ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection); ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); ui->tableView->horizontalHeader()->setStretchLastSection(true); ui->tableView->setAlternatingRowColors(true); ui->tableView->setShowGrid(true); ui->tableView->setGridStyle(Qt::SolidLine);
这段代码是一系列设置表格视图(`tableView`)的属性和样式的代码。
1. `ui->tableView->verticalHeader()->setDefaultAlignment(Qt::AlignCenter);`:设置垂直表头单元格中的文本居中对齐。
2. `ui->tableView->verticalHeader()->setVisible(false);`:隐藏垂直表头。
3. `ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);`:设置选择模式为单选。
4. `ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);`:设置选择行为为选中整行。
5. `ui->tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);`:设置水平滚动条始终可见。
6. `ui->tableView->horizontalHeader()->setStretchLastSection(true);`:设置水平表头的最后一列自动拉伸以填充剩余空间。
7. `ui->tableView->setAlternatingRowColors(true);`:设置交替行颜色,使表格视图的行具有交替的背景颜色。
8. `ui->tableView->setShowGrid(true);`:显示表格网格线。
9. `ui->tableView->setGridStyle(Qt::SolidLine);`:设置表格网格线的样式为实线。
这些设置可以根据需求来自定义表格视图的外观和交互方式,提供更好的用户体验。
tableView->setPageSize(10);为什么setPageSize没有
在 Qt 中,QTableView 并没有 setPageSize() 函数,但是 QAbstractItemView 类中有 setPageSize() 函数。因此,如果想在 QTableView 中设置每页显示的行数,应该将 QTableView 对象转换为 QAbstractItemView 对象,然后再调用 setPageSize() 函数。可以使用以下代码实现:
```cpp
tableView->setModel(model); // 设置模型
tableView->setSelectionBehavior(QAbstractItemView::SelectRows); // 设置选择行为
tableView->setSelectionMode(QAbstractItemView::SingleSelection); // 设置选择模式
tableView->setShowGrid(true); // 显示网格线
tableView->verticalHeader()->hide(); // 隐藏行表头
tableView->horizontalHeader()->setSectionsClickable(true); // 设置表头可点击
tableView->horizontalHeader()->setStretchLastSection(true); // 设置最后一列自适应宽度
tableView->setSortingEnabled(false); // 关闭表格排序功能
tableView->setPageSize(10); // 设置每页显示的行数
```
如果你已经包含了 QAbstractItemView 的头文件,但是还是找不到 setPageSize() 函数,那么可能是因为你的 Qt 版本过低,建议升级到较新的版本。
阅读全文