Qt实现带滚动条的界面(代码实现)

引入头文件

#include <QScrollArea>
#include <QScrollBar>

实现过程

1.新建一个QScrollArea变量,名称为sa
2.设置sa的位置长宽,进度条显示
3.在sa界面中新建一个QWidget界面w
4.将 w装配到sa中并设置w的位置长宽(sa为主界面,w为实际界面)

	QScrollArea *sa = new QScrollArea(this);
    sa->setGeometry(400, 300, 300, 200);
    sa->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
    sa->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
    QWidget *w = new QWidget(sa);
    sa->setWidget(w);
    w->setGeometry(0, 0, 700, 1200);//主要是设置长宽,xy意义不大
    QLabel *label_2=new QLabel(w);
    label_2->setText("222");
    label_2->move(400,300);

解释:这实际上是两个界面相互重叠,sa为上层界面,上层界面包含有进度条(scrollBar),w为下层界面,一般实现都处于下层界面。
如图所示
在这里插入图片描述

进度条的访问

sa->verticalScrollBar();//访问垂直滚动条
sa->horizontalScrollBar(); //访问水平滚动条
  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现鼠标滚动实时加载表格,一般需要以下几个步骤: 1. 在界面上添加表格控件,并为其设置滚动条信号的连接。 2. 当滚动条滚动时,获取当前滚动条的位置,并根据位置计算需要加载的数据范围。 3. 从数据源中获取对应的数据,并将其添加到表格控件中。 下面是一个简单的示例代码,演示如何实现鼠标滚动实时加载表格: ``` python # 定义滚动区间和已加载的数据范围 scrollRange = 10 loadedRange = [0, 0] # 从数据源中获取数据 def getDataFromSource(start, end): # 从数据源中获取对应范围的数据 # ... # 更新表格中的数据 def updateTableData(data): # 将数据更新到表格中 for i, row in enumerate(data): for j, item in enumerate(row): tableWidget.setItem(i, j, QTableWidgetItem(item)) # 处理滚动条滚动事件 def handleScrollBarValueChanged(value): global loadedRange # 计算需要加载的数据范围 start = max(0, value - scrollRange) end = value + tableWidget.rowCount() + scrollRange # 判断是否需要加载新的数据 if start >= loadedRange[1] or end <= loadedRange[0]: # 从数据源中获取对应范围的数据 data = getDataFromSource(start, end) # 更新表格中的数据 updateTableData(data) # 更新已加载的数据范围 loadedRange = [start, end] # 初始化表格控件和滚动条控件 tableWidget = QTableWidget() scrollBar = tableWidget.verticalScrollBar() # 连接滚动条信号和槽函数 scrollBar.valueChanged.connect(handleScrollBarValueChanged) # 初始化界面 layout = QVBoxLayout() layout.addWidget(tableWidget) ``` 在这个示例代码中,我们使用了 `QTableWidget` 控件和其中的垂直滚动条控件。然后我们通过 `handleScrollBarValueChanged` 函数监听滚动条的值变化事件,当滚动条的值变化时,该函数会计算当前需要加载的数据范围,并判断是否需要加载新的数据。如果需要加载新的数据,则通过 `getDataFromSource` 函数从数据源中获取对应范围的数据,并通过 `updateTableData` 函数更新到表格中。最后,我们通过 `verticalScrollBar()` 函数获取到垂直滚动条控件,并连接其信号和槽函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值