薛定谔unique-cat 2023-03-13 19:55 采纳率: 0%
浏览 116

如何让qt QScrollArea的 滚动条在左边显示

我在写项目的时候,碰到了一个问题
如何让qt QScrollArea的 滚动条在左边显示

  • 写回答

2条回答 默认 最新

  • 路漫漫其修远. 领域专家: 操作系统技术领域 2023-03-13 20:20
    关注

    要在 Qt 的 QScrollArea 中将滚动条显示在左边,可以通过设置 QScrollBar 的位置并使用 QBoxLayout 布局来实现。

    具体步骤如下:

    • 创建一个 QScrollArea 对象,并将其添加到布局中。例如:
    QScrollArea *scrollArea = new QScrollArea(this);
    layout->addWidget(scrollArea);
    
    • 创建一个 QWidget 对象作为 QScrollArea 的内部小部件,并将其设置为 QScrollArea 的 widget。例如:
    QWidget *widget = new QWidget;
    scrollArea->setWidget(widget);
    
    • 创建两个 QScrollBar 对象,一个用于垂直滚动条,一个用于水平滚动条,并将其分别添加到 QScrollArea 的左侧和上方。例如:
    QScrollBar *vScrollBar = new QScrollBar(Qt::Vertical, this);
    QScrollBar *hScrollBar = new QScrollBar(Qt::Horizontal, this);
    scrollArea->setVerticalScrollBar(vScrollBar);
    scrollArea->setHorizontalScrollBar(hScrollBar);
    layout->addWidget(vScrollBar, 0, 0);
    layout->addWidget(hScrollBar, 1, 1);
    
    • 设置 QBoxLayout 布局的方向为从右到左,并将 QScrollArea 的 widget 添加到该布局中。例如:
        QHBoxLayout *hBoxLayout = new QHBoxLayout;
        hBoxLayout->addStretch();
        hBoxLayout->addWidget(widget);
        layout->addLayout(hBoxLayout);
    

    这样就可以将 QScrollArea 的滚动条显示在左侧。注意,这种方法需要根据实际情况进行调整,以便在 QScrollArea 中正确放置控件和滚动条。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月13日