Qt tableview总结

1> tabelview中选取一整行
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
2> 获取tableView中当前点击的行号
int row = ui->tableView->currentIndex().row();
3> 表头信息显示居左
ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
4> 设置列宽(第几列,宽度)

ui->tableView->setColumnWidth(0,101);

设置列宽根据文本自动调节

ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);

5> 设置列宽不可变
ui->tableView->horizontalHeader()->setResizeMode(0,QHeaderView::Fixed);
6> 删除行:
//x是指定删除哪一行
model->removeRow(x);
//删除所有行
model->removeRows(0,model->rowCount());
7>  获取选中单元格的属性
ui->tableView->currentIndex();//获取选中单元格的index  
ui->tableView->currentIndex().column();//当前选中单元格的列号  
ui->tableView->currentIndex().row();//当前选中单元格行号  
ui->tableView->currentIndex().data();//当前选中单元格内的数据  
8>  设置当前选中单元格的数据为字符串123 
model->setData(ui->tableView->currentIndex(),tr("123"));
9>  model 
model->rowCount(); //获取model的行数  
model->columnCount();//获取model的列数 
model->item(row, column)->text()//获取固定位置的数据
model.setColumnCount(3); //设置为3列 
model.setRowCount(4); //设置为4行 
10> 设置行内数据不可编辑
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
11> 变量model中数据
for(int i=0;irowCount();i++)  
{  
for(int j=0;jcolumnCount();j++)  
{  
    QMessageBox::warning(this,"",model->data(model->index(i,j)).toString());  
        }  
      }         
注:在进行表格设置时必须是“ui->tableView->setModel(model);” 在前,属性具体设置在后,反之则设置不会生效。


12>  设置列宽不可变动,即不能通过鼠标拖动增加列宽        
    ui->tableview->horizontalHeader()->setResizeMode(0, QHeaderView::Fixed);   
13>  默认显示行头,如果你觉得不美观的话,我们可以将隐藏        
    ui->tableview->verticalHeader()->hide();  
14>  使用右键菜单,需启用该属性        
    ui->tableview->setContextMenuPolicy(Qt::CustomContextMenu);
15>  设置单元格文本居中,设置为居中显示
    student_model->item(0, 0)->setTextAlignment(Qt::AlignCenter);
16>  设置单元格文本颜色,设置为红色

    student_model->item(0, 0)->setForeground(QBrush(QColor(255, 0, 0))); 

17> 设置自动排列

	ui->tableView->setSortingEnabled(true);

18> 设置表头隐藏

ui->tableView->horizontalHeader()->hide();

19> 隐藏行序号

ui->tableView->verticalHeader()->hide();


其他总结的文章:

http://www.360doc.com/content/14/0210/11/3300331_351302459.shtml


你可能感兴趣的:(qt)