QT QTbaleView移除网线
来源:互联网 发布:藏族演出服淘宝网 编辑:程序博客网 时间:2024/06/11 20:32
在一般的QTable表格中会有网格线,如下图:
如何才能移除网格线,若要移除全部网格线,只需一句代码:
view->setShowGrid(false);
若要移除单个水平或者垂直网格线,则需要借助QStyledItemDelegate,一下通过继承QStyledItemDelegate来实现移除垂直或水平的网格线:
class QLineDelegate : public QStyledItemDelegate{public: QLineDelegate(QTableView* tableView) { int gridHint = tableView->style()->styleHint(QStyle::SH_Table_GridLineColor, new QStyleOptionViewItemV4()); QColor gridColor = static_cast<QRgb>(gridHint); pen = QPen(gridColor, 0, tableView->gridStyle()); view = tableView; }protected: void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { QStyledItemDelegate::paint(painter, option, index); QPen oldPen = painter->pen(); painter->setPen(pen); //painter->drawLine(option.rect.topRight(), option.rect.bottomRight());//显示垂直网格线 painter->drawLine(option.rect.bottomLeft(), option.rect.bottomRight());//显示水平网格线 painter->setPen(oldPen); }private: QPen pen; QTableView* view;};
设置view不显示网格线,设置item委托
view->setShowGrid(false);view->setItemDelegate(new QLineDelegate(view));
效果:
但是最边上的边框线也没有了,知道如何处理的在下面留言!
阅读全文
0 0
- QT QTbaleView移除网线
- Qt移除数据库removeDatabase()时发出警告
- 网线
- 网线
- 网线
- 网线
- 网线
- 网线
- 网线 - 网线
- Qt 将一个Widget(子)从某个Widget(父)中移除的方法
- 移除MiniFilter和移除sfilter
- 移除引用
- 移除 API Hook
- HttpModule的移除
- 监听器的移除
- HttpModule的移除
- 移除HTML标签
- 添加&移除附件
- 暑假Fourteen宝岛地图
- 浙大PAT甲级-1031
- DreamWeaver
- Python NameError: name 'reduce' is not defined
- CentOS下JDK的安装
- QT QTbaleView移除网线
- 资源 收藏
- editplus注册码生成器
- 《选择的价值》 -豆瓣评分8.0
- Android 图形系统结构 中/英 (Android Graphic Architecture)
- GEF专题训练(一) RCP工程的创建1
- 蓝桥杯 ALGO-67 算法训练 最大值与最小值的计算
- Spark源码之checkpoint方法解析
- Windows使用方法