问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何QTreeWidget的水平滚动条自动出现

发布网友 发布时间:2022-04-22 10:00

我来回答

1个回答

热心网友 时间:2023-09-27 16:05

就在构造函数里面加上以下两行代码即可:

//根据内容自动设置列宽
ui->treeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
ui->treeWidget->header()->setStretchLastSection(false);

在解决完上述问题后,又遇到一个问题,就是用鼠标左键或者右键单击QTreeWidget里面的选项时,水平滚动条会自动跑到最左边,双击不会出现这个问题,详细查阅了QTreeWidget的实现代码,在其父类中有个事件处理函数void QAbstractItemView::timerEvent(QTimerEvent *event),加了一个滚动处理,这里真是有点晕了,它的注释就是“we only get here if there was no double click”,大家可以看下这里为什么要加这个滚动处理。
解决方法如下(我已经对QTreeWidget进行了二次封装,就直接在这上面改的,不封装照样可以实现,原理是一样的):
1.加两个变量,记录是否有选项被点击,一个记录点击时的水平滚动条位置
bool m_isItemClicked;
int m_horizontalScrollBarPos;
2.对两个事件进行处理

connect(ui->treeWidget->horizontalScrollBar(), SIGNAL(valueChanged(int)), this,SLOT(scrollbarchange(int)));
void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column)
{
m_isItemClicked = true;
m_horizontalScrollBarPos = ui->treeWidget->horizontalScrollBar()->sliderPosition();
}
void MainWindow::scrollbarchange(int value)
{
if (m_isItemClicked)
{
ui->treeWidget->horizontalScrollBar()->setValue(m_horizontalScrollBarPos);
m_isItemClicked = false;
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 qtreewidget重命名判断重名 QTreeWidget打开节点 如何使QTreeWidget不显示虚线边框 璇烽棶闱掓槬涓囧瞾杩欐湰涔〉湪闾i噷鍙�互涔板埌锛岀帇钂% 关于qt中的QTreeWidget的拖放问题 QTreeWidget 的弹出菜单怎么设置快捷键 如何不显示Qtreewidget左边的减号和加号 404 Not Found 404 Not Found 如何设置QtreeWidgetItem勾选框的样式 QSS怎么给QTreeWidget的每一项加上图标 如何自定义QTreeWidget的折叠图标和item背景 QTreeWidget 节点选中的图标怎么设置 淘宝网小二人工客服电话是 淘宝小二违规怎么投诉? 手机淘宝怎么联系淘宝小二人工客服 404 Not Found 怎样编辑pdf单页尺寸? PDF编辑器如何调整页面大小 pdf如何设置页面大小 怎么设置QTreeWidget的宽度 QTreeView和QTreewidget的区别? 404 Not Found 梨和桃在什么季节结果实? 桃子是在哪个季节结果的? linux搭建hadoop步骤linux搭建hadoop 桃子在什么时候开花结果 linux怎么安装hadoop 桃子哪个季节成熟? 吃桃子的季节是哪个? 如何在linux下安装hadoop 桃子是什么季节的? 怎么在linux上安装hadoop 桃树什么时候开花结果 几月份桃树开花 Linux命令 将该hadoop文件夹的属主用户设为hadoop, $ sudo chown -R hadoop:hadoop hadoop 404 Not Found 在Linux虚拟机上配置Hadoop,在初始化时显示权限不够 linux系统里面为什么安装完一个服务,要建一个相应的nologin用户呢? 为什么用瑞星杀毒时,CUP100%暴满 404 Not Found