Qt 中 double spinbox 设置上下小箭头显示在左边 并设置大小
时间: 2024-04-09 09:34:15 浏览: 217
qt qtableview在表头中添加combobox,checkbox,spinbox
要在 Qt 中将 double spinbox 的上下小箭头显示在左边并设置大小,可以使用样式表来实现。以下是一种方法:
```cpp
// 创建一个 QDoubleSpinBox 对象
QDoubleSpinBox* spinBox = new QDoubleSpinBox(this);
// 设置样式表
spinBox->setStyleSheet("QDoubleSpinBox::up-button { subcontrol-origin: left; subcontrol-position: top left; width: 20px; }"
"QDoubleSpinBox::down-button { subcontrol-origin: left; subcontrol-position: bottom left; width: 20px; }");
// 设置箭头大小
QStyle* style = spinBox->style();
int arrowSize = style->pixelMetric(QStyle::PM_SpinBoxArrowSize, nullptr, spinBox);
spinBox->setFixedWidth(arrowSize + 20);
// 将 spinBox 添加到布局或窗口中显示
layout->addWidget(spinBox);
```
在这个例子中,我们首先创建了一个 QDoubleSpinBox 对象 spinBox。然后,通过设置样式表来将上下小箭头显示在左边,并且设置了它们的宽度为 20 像素。注意,你可以根据需要调整箭头的宽度。
接下来,我们使用 QStyle 的 pixelMetric() 函数来获取当前系统中箭头的大小,并将 spinbox 的宽度设置为箭头大小加上一些额外的空间(这里设为 20 像素)。
最后,将 spinBox 添加到布局或窗口中,以便显示出来。
这样,你就可以在 Qt 中将 double spinbox 的上下小箭头显示在左边并设置大小了。记得根据你的需求进行相应的调整。
阅读全文