QT TableView
来源:互联网 发布:视频格式转换软件下载 编辑:程序博客网 时间:2024/06/04 13:24
<pre name="code" class="cpp">#include <QtGui>//代理类,把所有单元格中的字符居中显示class VIPModel : public QStandardItemModel{ Q_OBJECTpublic: VIPModel(QObject *parent=NULL) : QStandardItemModel(parent) { } VIPModel(int row, int column, QObject *parent=NULL) : QStandardItemModel(row, column, parent) { } // QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const QVariant data(const QModelIndex &index, int role /*= Qt::DisplayRole*/) const { switch (role) { case Qt::DisplayRole: return QStandardItemModel::data(index, 0); break; case Qt::TextAlignmentRole: return Qt::AlignCenter; break; case Qt::CheckStateRole: break; default: return QVariant(); break; } return QVariant(); } };#include "main.moc"/*将 project里面的 bulid dirctory的路径:C:\Qt\qt\examples\animation\appchooser-build-desktop修改为:C:\Qt\qt\examples\animation\appchooser*/int main(int argc, char *argv[]){ QApplication app(argc, argv); VIPModel *model = new VIPModel(5, 5); QTableView *tableView = new QTableView; //把表格的背景调成黄蓝相间 //这种方法是在网上看到的,用起来还真方便啊 tableView->setAlternatingRowColors(true); tableView->setStyleSheet("QTableView{background-color: rgb(250, 250, 115);" "alternate-background-color: rgb(141, 163, 215);}"); tableView->setWindowTitle("VIP List"); tableView->resize(700, 400); tableView->setModel(model); { //QStringList headerList; //headerList << "No." << "ID" << "Name" << "Age" << "Sex" << "Show"; //model->setHorizontalHeaderLabels(headerList); } //或者 { model->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr("No."))); model->setHorizontalHeaderItem(1, new QStandardItem(QObject::tr("ID"))); model->setHorizontalHeaderItem(2, new QStandardItem(QObject::tr("Name"))); model->setHorizontalHeaderItem(3, new QStandardItem(QObject::tr("Age"))); model->setHorizontalHeaderItem(4, new QStandardItem(QObject::tr("Sex"))); model->setHorizontalHeaderItem(5, new QStandardItem(QObject::tr("Show"))); } //tableView->verticalHeader()->setVisible(false);//隐藏每行前的序号 //或者 tableView->verticalHeader()->hide();//隐藏每行前的序号 tableView->horizontalHeader()->setStretchLastSection(true);//最后一列是否占据剩下空间 //设置表格属性 //设置列宽不可变动,即不能通过鼠标拖动增加列宽 /*{ tableView->horizontalHeader()->setResizeMode(0, QHeaderView::Fixed); tableView->horizontalHeader()->setResizeMode(1, QHeaderView::Fixed); tableView->horizontalHeader()->setResizeMode(2, QHeaderView::Fixed); tableView->horizontalHeader()->setResizeMode(3, QHeaderView::Fixed); tableView->horizontalHeader()->setResizeMode(4, QHeaderView::Fixed); }*/ //设置表格的各列的宽度值 /*{ tableView->setColumnWidth(0,100); tableView->setColumnWidth(1,100); tableView->setColumnWidth(2,100); tableView->setColumnWidth(3,100); tableView->setColumnWidth(4,100); }*/ //设置表格的单元为只读属性,即不能编辑 //stableView->setEditTriggers(QAbstractItemView::NoEditTriggers); //如果你用在QTableView中使用右键菜单,需启用该属性 //tableView->setContextMenuPolicy(Qt::CustomContextMenu); //动态添加行 //在表格中添加行时,我们只需要在model中插入数据即可,一旦model中的数据发生变化,QTabelView显示就会做相应的变动 //在第一行添加学生张三的个人信息(setItem函数的第一个参数表示行号,第二个表示列号,第三个为要显示的数据) { model->setItem(0, 0, new QStandardItem(("sam"))); model->setItem(0, 1, new QStandardItem("201000438")); model->setItem(0, 2, new QStandardItem(("man"))); model->setItem(0, 3, new QStandardItem(("18"))); model->setItem(0, 4, new QStandardItem(("tj"))); } //设置数据显示的样式 //设置单元格文本居中,张三的数据设置为居中显示 /*{//这里与data()函数功能相似,可以不重写data()而改为一下显示属性 model->item(0, 0)->setTextAlignment(Qt::AlignLeft); model->item(0, 1)->setTextAlignment(Qt::AlignCenter); model->item(0, 2)->setTextAlignment(Qt::AlignCenter); model->item(0, 3)->setTextAlignment(Qt::AlignCenter); model->item(0, 4)->setTextAlignment(Qt::AlignCenter); }*/ //设置单元格文本颜色,张三的数据设置为红色 /*{//这里与data()函数功能相似,可以不重写data()而改为一下显示属性 model->item(0,0)->setForeground(QBrush(QColor(255,0,0))); model->item(0, 0)->setForeground(QBrush(QColor(255, 0, 0))); model->item(0, 1)->setForeground(QBrush(QColor(255, 0, 0))); model->item(0, 2)->setForeground(QBrush(QColor(255, 0, 0))); model->item(0, 3)->setForeground(QBrush(QColor(255, 0, 0))); model->item(0, 4)->setForeground(QBrush(QColor(0, 0, 255))); }*/ //将字体加粗 /*{//这里与data()函数功能相似,可以不重写data()而改为一下显示属性 model->item(0, 0)->setFont( QFont( "Times", 10, QFont::Black ) ); model->item(0, 1)->setFont( QFont( "Times", 10, QFont::Black ) ); model->item(0, 2)->setFont( QFont( "Times", 10, QFont::Black ) ); model->item(0, 3)->setFont( QFont( "Times", 10, QFont::Black ) ); model->item(0, 4)->setFont( QFont( "Times", 10, QFont::Black ) ); }*/ //设置排序方式,按年龄降序显示 //model->sort(3, Qt::DescendingOrder); tableView->show(); return app.exec();}
0 0
- QT TableView
- qt tableview
- QT TableView 常用设置
- 使用QT TableView
- qt tableview代理实现
- qt tableview代理1
- QT tableview用法
- Qt tableview总结
- QT TableView 常用设置
- QT TableView 常用设置
- Qt TableView动态更新
- Qt tableview总结
- 转载----QT tableView
- qt 用tableview 实现listview
- Qt TableView的简单使用
- Qt TableView的简单使用
- linux qt tableview 例子使用方法
- QT tableview的简单使用
- 计算机总线类别
- 随想
- Unity3d 接入 移动MM支付SDK(2.3) 全攻略
- 【LeetCode】Valid Sudoku
- Coursera公开课Functional Programming Principles in Scala习题解答:Week 3
- QT TableView
- MATLAB Preparing installation files ... Installing ... Exception in thread "main" com.google.inject.
- 嵌入式系统开发实用教程
- Storyboard里面的几种Segue区别及视图的切换
- 《C和指针》第九章 字符串、字符和字节
- [LeetCode] Merge Sorted Array
- linux僵死进程与并发服务器编程
- 斐波那契数列的递归实现
- 我的第二个HelloWorld