QT C++ QListWidget怎么获取滑轮滑动的位置对应的item
时间: 2024-02-20 21:58:05 浏览: 225
在QT C++中,获取QListWidget滑轮滑动位置对应的item也可以使用类似的方法,具体代码如下:
```
#include <QListWidget>
class MyListWidget : public QListWidget {
public:
MyListWidget(QWidget *parent = nullptr) : QListWidget(parent) {
connect(verticalScrollBar(), &QScrollBar::valueChanged, this, &MyListWidget::onScroll);
}
private:
void onScroll(int value) {
QScrollBar *scrollBar = verticalScrollBar();
QListWidgetItem *item = itemAt(scrollBar->mapToGlobal(scrollBar->pos()));
if (item) {
qDebug() << "Current item:" << item->text();
}
}
};
```
在上面的代码中,我们同样继承了QListWidget类,并在构造函数中连接了垂直滚动条的valueChanged信号到自定义的槽函数onScroll()。在槽函数中,我们首先获取了列表的垂直滚动条对象,然后使用mapToGlobal()方法将滚动条的位置映射到屏幕上的坐标系。最后,我们调用QListWidget的itemAt()方法获取当前滑动位置对应的item。如果item存在,则输出它的文本内容。
阅读全文