QTableView CornerButton设置边框
时间: 2024-09-19 11:07:47 浏览: 47
QTableView的CornerButton是指桌视图中的角落按钮,通常用于分页、排序等功能。如果你想要设置这个按钮的边框,你需要通过样式表(Qt的CSS样式的应用方式)来定制其外观。在`QStyleOptionViewItem`中,你可以找到对应于corner button的选项,然后在样式表中指定边框。
例如,你可以这样做:
```cpp
// 获取当前的主题样式
QPalette pal = QApplication::palette();
QFontMetrics fm(pal.font());
int buttonSize = fm.width("QPushButton") + 4; // 加上一点额外空间
// 创建样式规则
QString styleRule = QString("QTableView::CornerButton:hover {border: 1px solid black;}"
"QTableView::CornerButton:!hover {border: none;}");
QApplication::setStyleSheet(styleRule);
// 设置每个角落按钮的大小
QTableWidget* table = new QTableWidget;
table->setItemDelegateForColumn(0, new CornerButtonDelegate(table, buttonSize));
```
这里使用了`setStyleSheet`函数将边框样式添加到全局样式表中,如果需要更精确地控制,也可以针对特定的QTableView实例创建自定义样式。
阅读全文