QtreeView横向滚动条无法自适应
1.问题描述
QTreeView层级过多时,横向滚动条有时无法自适应,导致有些item右侧显示不全,无法点击按钮,所以需要实现一个适应函数,在Qtreeview展开,收起节点,或者单击节点时,调用这个函数,让滚动条能够自适应;
void TreeTaskList::SlotResizeTreeWidget() { m_treeHoribarPos = ui.treeView->horizontalScrollBar()->value(); m_isItemClicked = true; ui.treeView->resizeColumnToContents(0);//自适应 ui.treeView->horizontalScrollBar()->setSliderPosition(m_treeHoribarPos); } connect(ui.treeView, &QTreeView::pressed, this, [=](QModelIndex index) { QStandardItem* pitem = m_modelTree->itemFromIndex(index); if (m_pSelectItem == pitem) { ui.treeView->clearSelection(); } else { m_pSelectItem = pitem; } SlotResizeTreeWidget(); }); connect(ui.treeView, &QTreeView::expanded, this, [=](QModelIndex index) { SlotResizeTreeWidget(); }); connect(ui.treeView, &QTreeView::collapsed, this, [=](QModelIndex index) { SlotResizeTreeWidget(); });
自己开发了一个股票智能分析软件,功能很强大,需要的关注微信公众号:QStockView