Qt编程treeview控件中节点名太长显示不全
Qt编程,ui画的图,linux环境下。treeview控件中节点名太长,treeview显示不全,怎么办。treeview窗体大小是固定的。没想好是让QStandard...
Qt编程,ui画的图,linux环境下。treeview控件中节点名太长,treeview显示不全,怎么办。treeview窗体大小是固定的。没想好是让QStandardItem分行显示,还是鼠标移动到节点上显示全名。哪个容易实现?如何实现?
model是QStandardItemModel
item是QStandardItem
view是QTreeView
当Item里面显示的内容太长时,QTreeView没有自动添加水平滚动条,而是将Item里面太长的字用...代替了。
我在代码里面设置了
treeView->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
treeView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
却没有任何效果。但QTreeView里面Item过多的时候,会自动添加垂直滚动条。但为何不自动添加水平滚动条? 展开
model是QStandardItemModel
item是QStandardItem
view是QTreeView
当Item里面显示的内容太长时,QTreeView没有自动添加水平滚动条,而是将Item里面太长的字用...代替了。
我在代码里面设置了
treeView->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
treeView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
却没有任何效果。但QTreeView里面Item过多的时候,会自动添加垂直滚动条。但为何不自动添加水平滚动条? 展开
4个回答
展开全部
TreeView里不会自动去调节你的item的大小,
Qt只是根据FontMetrics来改变你内部文本的样式而已。
而且你只是Item的内容太长,
并不是在View的整个viewport中占不下(大部分原因因为宽度或是长度)这样才会出现ScrollBar,
而且Qt::ScrollBarAsNeeded是作为View中ScrollBar策略的默认参数。。。
其次改变宽度以及根据内容自动改变宽度的函数是绝对有的,这个我觉得你自己看文档获取的会更多。
Qt只是根据FontMetrics来改变你内部文本的样式而已。
而且你只是Item的内容太长,
并不是在View的整个viewport中占不下(大部分原因因为宽度或是长度)这样才会出现ScrollBar,
而且Qt::ScrollBarAsNeeded是作为View中ScrollBar策略的默认参数。。。
其次改变宽度以及根据内容自动改变宽度的函数是绝对有的,这个我觉得你自己看文档获取的会更多。
展开全部
假设pTreeView是你的QTreeView的指针,
设置如下:
pTreeView->header()->setResizeMode(QHeaderView::ResizeToContents);
pTreeView->header()->setStrechLastSection(false);
你就会看到水平滚动条了
设置如下:
pTreeView->header()->setResizeMode(QHeaderView::ResizeToContents);
pTreeView->header()->setStrechLastSection(false);
你就会看到水平滚动条了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的,不知道就不知道,别瞎乱回答。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询