#include <QApplication>
#include <QScroller>
#include <QVBoxLayout>
#include <QPushButton>
#include <QScrollArea>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget window;
window.resize(300, 200); // 设置窗口大小
QWidget *contentWidget = new QWidget(); // 创建一个内容部件
QVBoxLayout *layout = new QVBoxLayout(contentWidget);
contentWidget->setLayout(layout);
for (int i = 0; i < 50; ++i) {
QPushButton *button = new QPushButton(QString("Button %1").arg(i + 1));
layout->addWidget(button);
}
QScrollArea *scrollArea = new QScrollArea(&window); // 创建滚动区域
scrollArea->setStyleSheet("QScrollBar { width: 0px;}"); //隐藏滚动条
scrollArea->setWidgetResizable(true);
scrollArea->setWidget(contentWidget); // 将内容部件设置到滚动区域
QVBoxLayout *windowLayout = new QVBoxLayout(&window);
windowLayout->addWidget(scrollArea);
// 为滚动区域的视口启用 QScroller
//QScroller::LeftMouseButtonGesture根据需要修改
QScroller::grabGesture(scrollArea->viewport(), QScroller::LeftMouseButtonGesture);
window.show();
return a.exec();
}
QScroller触摸屏窗口滚动
于 2024-05-19 18:21:50 首次发布