1.1 組織樹treewidget滾動條寬度根據內容自適應調整
Treewidget只有在多列時,纔會自適應顯示橫向滾動條,並且根據內容自動調整滾動條的大小,爲了實現任務列表自適應列寬;需要採用如下方法;信號槽連接treewidget單擊、展開、收起信號,然後去重新調整treewidget的寬度;
connect(ui.treeWidget, SIGNAL(clicked(QModelIndex)), this, SLOT(slot_treeView_pressed(QModelIndex)));
connect(ui.treeWidget, SIGNAL(expanded(QModelIndex)), this, SLOT(slot_treeView_pressed(QModelIndex)));
connect(ui.treeWidget, SIGNAL(collapsed(QModelIndex)), this, SLOT(slot_treeView_pressed(QModelIndex)));
slot_treeView_pressed實現方法如下所示:
void TreeTaskList::slot_treeView_pressed(QModelIndex index)
{
int column = index.column();
int width = ui.treeWidget->columnWidth(column);
ui.treeWidget->resizeColumnToContents(index.column());
width = ui.treeWidget->columnWidth(column);
//ui.treeWidget->header()->resizeSections(QHeaderView::ResizeToContents);
/*ui.treeWidget->header()->setSectionResizeMode(QHeaderView::ResizeToContents);
ui.treeWidget->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);*/
}