QT实现QTableWidget中滚动条的逐行移动,隐藏滚动条,点击按钮一次移动一行(QAbstractItemView::ScrollPerItem)

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在触摸屏上使用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::Sc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值