QTableWidget使用注意要点总结
来源:互联网 发布:数控铣床编程100例图 编辑:程序博客网 时间:2024/06/05 18:56
关于tablewidget一些总结,常用的使用方法网上一大堆,都可以搜到,比如:
/*---表头设置 begin---*/ //初始化表头内容 ui->tableWidget->setHorizontalHeaderLabels(m_lstHeaderData); //设置表头不可见 ui->tableWidget->verticalHeader()->setVisible(false); ui->tableWidget->horizontalHeader()->setVisible(false); //设置表头字体加粗// QFont font = ui->tableWidget->horizontalHeader()->font();// font.setBold(true);// ui->tableWidget->horizontalHeader()->setFont(font);// //设置表头不可点击(默认点击后进行排序)// ui->tableWidget->horizontalHeader()->setClickable(false);// ui->tableWidget->verticalHeader()->setClickable(false); //设置表头背景色 //ui->tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background:skyblue;}"); //设置表头高度 //ui->tableWidget->horizontalHeader()->setFixedHeight(25); /*---表头设置 end---*/ //设置行列宽度充满表格 //ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch); //ui->tableWidget->verticalHeader()->setResizeMode(QHeaderView::Stretch); //设置内容与表格相匹配 //ui->tableWidget->resizeColumnsToContents(); //ui->tableWidget->resizeRowsToContents(); //设置单个选中 ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); //禁止编辑 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //去掉虚线框 ui->tableWidget->setFocusPolicy(Qt::NoFocus); //去掉 水平/垂直 滚动条 ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); //ui->tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); //禁止选中 ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection); //设置选中背景色 //ui->tableWidget->setStyleSheet("selection-background-color:lightblue;");
注意的几点:
1. 如果实现的是翻页的显示表格,下一页的时候必须要清空表格,并设置表格的行列为0,重新设置表格的行和列,否则之前设置的一些属性可能会没效果(包括使用CSS样式表设置的风格)
2. //设置行列宽度充满表格
ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
ui->tableWidget->verticalHeader()->setResizeMode(QHeaderView::Stretch);
//设置内容与表格相匹配
ui->tableWidget->resizeColumnsToContents();
ui->tableWidget->resizeRowsToContents();
这两行使用挺方便,但是问题也比较多,首先他两不能同时出现,会冲突没效果,你不能即设置行充满表格,又设置行根据内容扩展。可以这样用:ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
ui->tableWidget->resizeRowsToContents();
这样就问题,水平铺满表格,垂直方向按照内容扩展,注意resizeRowsToContents()的意思按照行去扩展,即一行显示不全就扩展到两行去显示。
3. 最最重要的是,也是我发现的一个大坑,折磨了我一天,还是
resizeRowsToContents()函数,首先它必须在表格填充完数据再去调用,才有效果,这个倒没有折磨我,折磨我的是它竟然还必须是在页面显示出来后填充完数据再去 调用 才有效果,这个真是折磨死我了,因为我做的页面时相互切换的,只有一页有表格,我就在类构造函数中做完一切初始化工作后,默认填充了数据,调了resizeRowsToContents(),结果就是没反应,但是放到resizeEvent函数中去调用,在改变窗口大小触发resizeEvent消息的时候就有了效果,后来经过反复测试验证,终于得出这个结果。。。验证成功那一刻真是大快人心啊。
4. 还有一个是tablewidgte可以setCellWidget添加控件,挺方便,但是如果这个控件被设置了固定的大小,那么
//设置行列宽度充满表格 ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch); ui->tableWidget->verticalHeader()->setResizeMode(QHeaderView::Stretch); //设置内容与表格相匹配 ui->tableWidget->resizeColumnsToContents(); ui->tableWidget->resizeRowsToContents();
这两行代码就会没没效果
好了,以上是自己的一些小经验,有不对的地方欢迎指正交流
- QTableWidget使用注意要点总结
- QTableWidget控件使用总结
- QTableWidget控件使用总结
- QTableWidget使用总结
- docker 使用注意要点
- SVN使用之注意要点
- SVN使用之注意要点
- QTableWidget的使用和美工总结
- QTableWidget的使用和美工总结
- QTableWidget的使用和美工总结
- QTableWidget的使用和美工总结
- QTableWidget的使用和美工总结
- QTableWidget的使用与美工总结
- QTableWidget常用使用总结(转)
- QTableWidget的使用和美工总结
- vector使用要点总结
- QTableWidget使用
- QTableWidget使用
- 微信开发官方账号暂时无法提供服务的解决
- 兼容IE8以下浏览器input表单属性placeholder不能智能提示功能,以及使用jquery.validate.js表单验证插件的问题处理
- Maven 构建项目入门
- Eclipse CDT
- shell判断文件
- QTableWidget使用注意要点总结
- 二分查找
- java获取当前日期时间代码
- rsync 错误报告
- 蜂巢晶格_Honeycomb Lattice Triangular Lattice初始化邻居信息
- POJ 2352[树状数组]
- 【转】JSP/SERVLET入门教程--Servlet 使用入门
- thinkphp报错 找不到think/log
- Android获取输入法高度——输入法与页面布局无缝切换