gpt4 book ai didi

c++ - 如何将多个 slider 设置为相同的宽度

转载 作者:行者123 更新时间:2023-12-02 09:47:46 26 4
gpt4 key购买 nike

基本上,我有一个 QVBoxLayout有多个 QHBoxLayout .内部 QHBoxLayout我有一个标签和一个 slider 。我的布局如下所示:
enter image description here
但我希望我的 slider 看起来像这样:
enter image description here
注意 slider 是如何从同一位置开始的,但左侧的文本是右对齐的。

最佳答案

您必须使用 QGridLayout 而不是 QVBoxLayout + QHBoxLayout:

#include <QtWidgets>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;

QSlider *angleSlider = new QSlider(Qt::Horizontal);
QLabel *angleLabel = new QLabel;
QObject::connect(angleSlider, &QSlider::valueChanged, [angleLabel](int value){
angleLabel->setNum(value);
});
angleLabel->setNum(angleSlider->value());

QSlider *rotationSlider = new QSlider(Qt::Horizontal);
QLabel *rotationLabel = new QLabel;
QObject::connect(rotationSlider, &QSlider::valueChanged, [rotationLabel](int value){
rotationLabel->setNum(value);
});
rotationLabel->setNum(rotationSlider->value());

QGridLayout *lay = new QGridLayout(&w);

lay->addWidget(new QLabel("angle"), 0, 0);
lay->addWidget(angleSlider, 0, 1);
lay->addWidget(angleLabel, 0, 2);

lay->addWidget(new QLabel("rotations"), 1, 0);
lay->addWidget(rotationSlider, 1, 1);
lay->addWidget(rotationLabel, 1, 2);

lay->setRowStretch(lay->rowCount(), 1);

w.show();
w.resize(320, 120);
return a.exec();
}
enter image description here

关于c++ - 如何将多个 slider 设置为相同的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63974885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com