由于我正在为平板电脑环境编程,一些小部件对于可触摸交互来说太小了。我想要特别放大QSpinBox按钮。
经过一些搜索,我发现唯一的方法似乎是使用setStyleSheet函数,但是它没有很好地解释如何使用。在这个链接到Qt参考文档中,描述了我应该传递给setStyleSheet函数的内容,但是不清楚是否可以只使用其中的一部分,还是即使我只想改变一部分,也必须使用全部内容。
无论如何,无论是使用部分还是整个文本,我的QDoubleSpinBox在应用这些设置后仍然保持默认状态。它甚至比我在ui文件中绘制的还要小。当然它没有将背景画成黄色(只是为了检查是否有效)或使按钮更大。
我正在使用这个函数:
customizeSpinBox(ui.doubleSpinBoxDistanciaLocalizador);
ui.doubleSpinBoxDistanciaLocalizador->setVisible(true);
void MyClass::customizeSpinBox(QDoubleSpinBox *spinBox){
qApp->setStyleSheet("QSpinBox { border: 3px solid red; border-radius: 5px; background-color: yellow; }"
"QSpinBox::up-arrow { border-left: 17px solid none;"
"border-right: 17px solid none; border-bottom: 17px solid black; width: 0px; height: 0px; }"
"QSpinBox::up-arrow:hover { border-left: 17px solid none;"
"border-right: 17px solid none; border-bottom: 17px solid black; width: 0px; height: 0px; }"
"QSpinBox::up-button { width: 80px; height: 77px; background-color: yellow; }"
"QSpinBox::up-button:hover { width: 80px; height: 77px; background-color: yellow; }"
"QSpinBox::down-arrow { border-left: 17px solid none;"
"border-right: 17px solid none; border-top: 17px solid black; width: 0px; height: 0px; }"
"QSpinBox::down-arrow:hover { border-left: 17px solid none;"
"border-right: 17px solid none; border-top: 17px solid black; width: 0px; height: 0px; }"
"QSpinBox::down-button { width: 80px; height: 77px; background-color: yellow; }"
"QSpinBox::down-button:hover { width: 80px; height: 77px; background-color: yellow; }"
);
}
Any help?