QTableView属性设置

画茧自缚 2016-08-05 10:47:40
问题一:tableView好像是不能通过qss设置单元格文本居中,那么有没有其他简单的方式设置呢?
问题二:tableView如何编辑左上角的单元格,能否通过对角线分成两块?
...全文
630 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Little柯南 2016-08-05
  • 打赏
  • 举报
回复
首先,你要确定你是需要使用QTableWidget还是使用QTableView。 区别如下: 1、继承:QTableWidget继承自QTableView; 2、复选框设置:QTableView不能实现复选框,而QTableWidget可以; 3、与QSqlTableModel绑定,QTableView可以绑定,QTableWidget不行。 我一般自己写QTableWidgetItem的,这个Item有个函数是setTextAlignment(int alignment),你用起来就可以设置对齐。 另外,对于斜线,我认为可以这么做,你自己写一个类继承QTableWidgetItem,在绘画时间里面获取pos(0,0)与右下角pos(w,h),w与h是你的单元格长宽,然后用画笔连线。最后在ui里面将你需要设置斜线的单元格提升为你自己的单元格。
冷静忍耐 2016-08-05
  • 打赏
  • 举报
回复
继承QHeaderView重写事件,点击左上角那个单元格,看是不是属于QHeaderView 然后重写paintEvent或许就可以了
冷静忍耐 2016-08-05
  • 打赏
  • 举报
回复
TableView没有TableWidget方便,TableWidget直接:item->setTextAlignment(int ); QVariant Model::data(const QModelIndex & item, int role) const { QVariant value = QSqlTableModel::data(item, role); if (role == Qt::TextAlignmentRole) return Qt::AlignCenter; return value; } 不太清楚,或者你可以放弃表头,自己把单元格当做表头。 然后左上角就可以用item来了,塞个widget上去,或者自己画

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧