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;i<model->rowCount();i++)  
{  
for(int j=0;j<model->columnCount();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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章