1. 程式人生 > >關於tableWidget的列寬拖動和滾動條設定

關於tableWidget的列寬拖動和滾動條設定

之前做專案中資料經常使用table呈現,為了介面美觀,我把header設定為strench的自動填充方式。但事實上,如果一旦有比較多的資料在一個item中,由於寬度固定,就不能把內容顯示全,這個時候,可以把table設定為可以拖動的,這樣就可以通過拖動列寬顯示看不到的內容。
這樣,初始時我們根據表的寬度平均每個列的初始寬度,並新增滾動條,使其在列寬被拖動超過表的初始寬度時滾動條顯示。具體的實現如下:
//初始列寬,根據表寬均分
ui.tableWidget->setColumnWidth(0,ui.tableWidget->width()/4);
ui.tableWidget->setColumnWidth(1,ui.tableWidget->width()/4);
ui.tableWidget->setColumnWidth(2,ui.tableWidget->width()/4);
ui.tableWidget->setColumnWidth(3,ui.tableWidget->width()/4);
//設定列寬可拖動
ui.tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
ui.tableWidget->verticalHeader()->setResizeMode(QHeaderView::Interactive);
//設定table的水平滾動條
ui.tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
這樣就實現了上面提到功能