在触摸屏上使用QTableWidget,用滚动条来控制非常不方便,将右侧滚动条隐藏,改为通过按钮点击来进行逐行滚动,或者滚动到最前/最后。逐行滚动主要通过QTableWidget自带的setCurrentIndex函数来实现。
如上图,这是一个45*8的表,右侧滚动条已改为按钮。逐行滚动实现的逻辑是,初始默认表格能展现的最下面一行为初始行,上图中表格能展示17行,则初始行号为16,点击向下滚动,则setCurrentIndex(m_nItemIndex++);点击向上滚动,则setCurrentIndex(m_nItemIndex--)。下面贴出滚动部分代码实现。
m_nRowCount = 45;
m_nColumnCount = 8;
m_nItemIndex = 17 - 1;
m_pTable = new QTableWidget(this);
m_pTable->setFont(font);
m_pTable->setRowCount(m_nRowCount); //设置行数
m_pTable->setColumnCount(m_nColumnCount); //设置列数
m_pTable->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); //隐藏垂直滚动条
m_pTable->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOf

本文介绍如何在QT界面中,针对QTableWidget组件进行优化,将默认滚动条替换为按钮,实现点击按钮逐行移动的功能。通过设置 ScrollPerItem 模式并自定义点击事件,使得用户可以方便地在触摸屏上操作表格。
6788

被折叠的 条评论
为什么被折叠?



