Qt:QTableWidget 使用的相关问题
2016-05-10 17:57
585 查看
QTableWidget可以用来显示表格数据 是一种相对来说比较常用的部件。和QTableView相比,其在内部已添加了标准模型 不需要用户在添加模型。虽然灵活度下降 但是使用相对方便。网上有很多资料讲了该部件用法(参考文献1)。这里讲一下自己使用时 遇到的一些问题:
1 不能设置表头的背景颜色。
虽然参考资料中给出了设置表头背景色的办法 但使用起来却无效。在论坛中看到有人讨论(参考文献2)大概说只有在QMainWindow上使用该方法才有效
可以通过设置样式表的方式来改变背景色:
2 在获取Cell的文本时候 一定要做判断 Cell是否为空 否则程序会异常
原因: Cell为空的话 此时的指针指向的地址为0 所以空指针获取不到文本的。
做如下判断:
参考文献:
QTablewidget使用详情
表头背景色设置
1 不能设置表头的背景颜色。
虽然参考资料中给出了设置表头背景色的办法 但使用起来却无效。在论坛中看到有人讨论(参考文献2)大概说只有在QMainWindow上使用该方法才有效
可以通过设置样式表的方式来改变背景色:
ui->SeedtableWidget->horizontalHeader()->setStyleSheet( "QHeaderView::section{background-color:transparent}" );
2 在获取Cell的文本时候 一定要做判断 Cell是否为空 否则程序会异常
QTableWidgetItem * QTableWidget::item(int row, int column) const Returns the item for the given row and column if one has been set; otherwise returns 0. See also setItem().
原因: Cell为空的话 此时的指针指向的地址为0 所以空指针获取不到文本的。
做如下判断:
if(ui->tableWidget->item(i,j)==NULL|| //判断指向该cell的指针是否为空 (ui->tableWidget->item(i,j)&& ui->tableWidget->item(i,j)->text()==tr("")) //判断该cell的text是否为空 { //TODO:edit your code here }
参考文献:
QTablewidget使用详情
表头背景色设置
相关文章推荐
- QT学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- Qt 5.6更新至RC版,最终版本近在咫尺
- Qt定时器和随机数详解
- Qt实现图片移动实例(图文教程)
- Qt for Android开发实例教程
- QModelIndex/Role/Model介紹<二>
- Qt Model/View/Delegate浅谈 - QAbstractListModel
- Qt Model/View/Delegate浅谈 - roleNames()
- 基于PyQt5的快速开发框架QFramer
- OSX下安装PyQt
- ok6410开发板移植DirectFB手记
- 【笔记】给Qt内嵌一个Chrome吧
- 【算法】最短路径之A*搜索
- qt入门必备
- 在 Qt4 中使用 C++11
- Hello Word ~ v0.2.2 背单词软件发布 -- By WHYPRO
- ubuntu下opencv和qt的安装配置
- linux下opengl的安装(with qt)
- qt 学习小节