QTableView的使用基础知识

一、创建模型对象       
    QTableView * tableView = new QTableView();

二、创建数据模型       
    QStandardItemModel *model = new QStandardItemModel (this);

三、表头       
    //设置列数
        model->setColumnCount(4);

    //添加表头标题
        model->setHeaderData(0,Qt::Horizontal,QString::fromLocal8Bit("姓名")); 
        model->setHeaderData(1,Qt::Horizontal,QString::fromLocal8Bit("年龄")); 
        model->setHeaderData(2,Qt::Horizontal,QString::fromLocal8Bit("性别"));        
        model->setHeaderData(3,Qt::Horizontal,QString::fromLocal8Bit("生日"));

    //绑定对象和模型
        tableView ->setModel(model);

    //表头信息显示位置
       (1)水平居左
            tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
       (2)水平居右
            tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignRight);
       (3)水平居中
            tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignHCenter);
       (4)水平两端对齐
            tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignHCenter);
       (5)垂直靠上
            tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignTop);
        (6)垂直靠下
            tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignBottom);
       (7)垂直居中
            tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignVCenter);
       (8)垂直和水平居中 等价于Qt::AlignHCenter | Qt::AlignVCenter
            tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignCenter);
    
四、列属性
    //设置指定列不可编辑
        QStandardItemModel *model = new QStandardItemModel ();
        int row_list = model->rowCount();                             //得到行数   
        QStandardItem *item_name = new QStandardItem ("小明");
        model->setItem(row_list,2,item_name);                   //设置每一行的第3列不可编辑
        item_name->setFlags(Qt::NoItemFlags);

    //设置列宽不可变动,即不能通过鼠标拖动增加列宽        
        tableView->horizontalHeader()->setResizeMode(0, QHeaderView::Fixed);   

    //设置列的宽度
        tableView->setColumnWidth(0,100);    

    //隐藏列表头 
        tableWidget->verticalHeader()->setVisible(false);           

五、行属性
    //设置选中时为整行选中        
        tableView->setSelectionBehavior(QAbstractItemView::SelectRows); 
  
    //隐藏行表头  
         tableView->horizontalHeader()->setVisible(false); 

六、综合属性
    //设置排序
       (1)指定列降序
            model->sort(3, Qt::DescendingOrder);    
       (2)所有的列都排序
            tableView->setSortingEnabled(true);    

    //背景网格线设置
        tableView->setShowGrid(true / false);        显示/隐藏

    //设置tableView窗口大小
        tableView->resize(width,height);

    //数据清楚
        model->clear();
    
    //文本居中
    item->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
        或者
    item->setTextAlignment(Qt::AlignCenter);

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值