zoukankan      html  css  js  c++  java
  • 关于QTableView的一些用法

    1.设置表头

    QStandardItemModel * head = new QStandardItemModel();
    head->sethorizontalHeaderItem(0,new QStandardItem(tr("")));
    ...
    ...
    
    ui->tableView->setModel(head);

    2.设置各列的宽度

    ui->tableView->setColumnWidth(列编号,列宽度);

    3.设置列宽度固定,不能进行拖动

    ui->tableView->horizontalHeader()->setResizeMode(列编号,QHeaderView::Fixed);

    4.设置列宽自适应剩余宽度

    ui->tableView->horizontalHeader()->setResizeMode(列编号,QHeaderView::Stretch);

    5.设置列根据内容自适应宽度

    ui->tableView->resizeColumnToContents(列编号);

    一般设置tableView步骤为:设置表头-设置固定列自适应内容宽度-设置固定列宽度-设置固定列宽度固定-设置其他列自适应剩余宽度。

    6.设置表格只读,不能进行编辑操作

    ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

    7.动态增加表格内容

    head->setItem(行号,列号,new QStandardItem(tr("")));
    ...
    ...
    ...

    8.设置选中操作为选中全行模式

    ui->tableView->setSelectBehaviour(QAbstractItemView::SelectRows);

    9.获取tableView单击行的内容

      信号/槽如下:

    connect(ui->showArea,SIGNAL(clicked(QModelIndex)),this,SLOT(table_view_clicked(QModelIndex)));

      处理事件:

    void LianHu::table_view_clicked(const QModelIndex &index)
    {
        QAbstractItemModel *modessl = ui->showArea->model();
        int curRow  = index.row();
         QModelIndex indextemp = modessl->index(curRow,2);//遍历第一行的所有列
        //这个是一个单元格的值。tostring()----ok
        QString datatemp = modessl->data(indextemp).toString();
        ui->showContent->setText(datatemp);
    
    
    }
  • 相关阅读:
    10-3 集合之Set
    【Angular】排序
    【Mongous】
    【验证码】
    爬虫
    【DOM】
    年月日
    【Mocha】
    【Test】
    洛谷——P1823 音乐会的等待
  • 原文地址:https://www.cnblogs.com/justwake/p/justwake_qtableview.html
Copyright © 2011-2022 走看看