Qt QTableView
来源:互联网 发布:ubuntu装到移动硬盘 编辑:程序博客网 时间:2024/05/20 16:33
表格数据基本需要用到QTableView 进行表示, 记录下QTableView 的使用方法和遇到的问题
创建QTableView
QTableView* table = new QTableView(); //
设置表格属性
table->setEditTriggers(QAbstractItemView::NoEditTriggers);//设置表格只读,不能进行编辑
table->setShowGrid(false); //不显示网格线
table->verticalHeader()->hide(); //隐藏行表头 或 table->vercalHeader()->setVisible(false);
table->verricalHeader()->setDefaultSeciontSize(22); //设置默认行高
table->horizontalHeader()->setDefaultSecionSize(100); //设置默认列宽
#注意设置表头时需要用到头文件 #include <QHeaderView>
table->setSelectionBehavior(QAbstractItemView::SelectRows); //设置选中时为整行选中
table->setColumnWidth(0, 100); #设置各列宽度,注意该设置函数必须在数据模型创建并绑定之后调用才起效, 刚开始在setModel 之前调用了该函数始终没有生效
table->setColumnWidth(1, 100);
table->setColumnsWidth(); //设置所有列宽
table->resizeRowToContents(int n); //根据内容调整某行的行高
table->resizeColumnsToContents(); //根据内容自动调整所有列的列宽
创建数据模型
QStandardItemModel* dataModel = new QStandardItemModel();table->setModel(dataModel); //绑定数据模型//设置列表头dataModel->setHeaderData(0, Qt::Horizontal, tr("列1"));dataModel->setHeaderData(1, Qt::Horizontal, tr("列2"));//添加设置数据
dataModel->setItem(0, 0, new QStandardItem("data1"));dataModel->setItem(0, 0, new QStandardItem("data2"));//设置数据条目显示样式
dataModel->item(0, 0)->setTextAlignment(Qt::AlignCenter); //设置数据居中显示
dataModel->item(0, 0)->setForeground(QBrush(QColor(255, 0, 0))); //设置数据显示颜色dataModel->item(0, 0)->setFont(Font("Microsoft YaHei", 15, 75)); //设置数据显示字体//设置表头显示样式dataModel->horizontalHeaderItem(0)->setFont(QFont("Helvetica", 10, 50));dataModel->horizontalHeaderItem(0)->setBackgroundColor(QColor("0,0, 0")); //设置单元格背景颜色dataModel->horizontalHeaderItem(0)->setTextColor(QColor("100, 100, 100")); //设置字体颜色
dataModel->sort(); //数据排序
单元格加入控件, 比如加一个下拉框到单元格QComBox *box = new QComBox();box->addItem("Y");box->addItem("N");dataModel->addCellWidget(0,0, box); 增加控件到单元格//添加一行多列数据 QStandardItem* item1 = new QStandardItem; //标准项, 用来保存一个数据项
item1->setData(messageTime, 0);
QStandardItem* item2 = new QStandardItem;
item2->setData(message, 0);
QList<QStandardItem *> row;
row.append(item1);
row.append(item2);
dataModel->appendRow(row);
- QT/QTableView
- QT QTableview
- Qt QTableView
- qt学习之qtableview
- qt QTableView 小结
- Qt QTableview使用
- QT QTableView用法小结
- [Qt练习]QTableview
- Qt QTableview使用
- 【转】Qt QTableview使用
- qt qtableview基本用法
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- C++学习日记(容器)
- 【NodeJS】我为什么要学Node.js?
- 了解界面布局layout_weight属性
- 利用iTextSharp实现分页功能
- Idea 的使用体验
- Qt QTableView
- Android手势监听类GestureDetector的使用
- leetcode 434. Number of Segments in a String
- 文章标题
- base(C# 参考)
- 内存分配与回收策略
- jq窗口滚动监听
- Tomcat的三种部署方式
- Kotlin File转ByteArray