Qt窗口小部件设置样式表

Qt窗口小部件设置样式表,qt,qtstylesheets,Qt,Qtstylesheets,因为我是为平板电脑环境编程的,所以有些小部件太小,无法进行触摸式交互。我想让QSpinBox按钮更大 经过一番搜索,我发现唯一的方法是出现setStyleSheet函数,但随后并没有很好地解释如何使用它。在本文中,描述了我应该传递给setStyleSheet函数的内容,但不清楚我是否可以使用它的一部分,或者我应该使用它的全部,即使我只想更改一件事 无论如何,使用部分或全部文本,我的QDoubleSpinBox在应用此设置后看起来是默认的。当我在mi ui文件中绘制时,它甚至比现在更大。当然,它并

因为我是为平板电脑环境编程的,所以有些小部件太小,无法进行触摸式交互。我想让QSpinBox按钮更大

经过一番搜索,我发现唯一的方法是出现setStyleSheet函数,但随后并没有很好地解释如何使用它。在本文中,描述了我应该传递给setStyleSheet函数的内容,但不清楚我是否可以使用它的一部分,或者我应该使用它的全部,即使我只想更改一件事

无论如何,使用部分或全部文本,我的QDoubleSpinBox在应用此设置后看起来是默认的。当我在mi 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; }"
    );
}


有什么帮助吗?

首先-此样式表代码无法工作。某些行中缺少结尾“}”

要设置QSpinBox的最小大小,请尝试以下操作:
QSpinBox{边框:3px纯红色;边框半径:5px;背景色:黄色;最小宽度:200px;最小高度:200px;}

使用这种方法,我得到了这种样式的又大又丑的旋转框:

"QSpinBox { border: 3px solid red; border-radius: 5px; background-color: yellow; min-height: 150px; min-width: 150px; }"
"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 { min-width: 80px; min-height: 77px; background-color: yellow; }"
"QSpinBox::up-button:hover { min-width: 80px; min-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 { min-width: 80px; min-height: 77px; background-color: yellow; }"
"QSpinBox::down-button:hover { min-width: 80px; min-height: 77px; background-color: yellow; }"

在样式表字符串的最后一行加上分号

使用

而不是

"QSpinBox::down-button:hover { width: 80px; height: 77px; background-color: yellow; }"

对不起,我迟到了。我意识到“子控制原点:…”和“子控制位置:…”都必须设置在向下按钮和向上按钮上。我正在使用python+pyqt。希望对您有所帮助。

那么您以后可能会更改样式表。我不会。GUI是用Qt creator设计的,所以我能想到的唯一一件事是某些属性可能会被启用,因此这些更改不会被正确应用。它对我不起作用,看起来是默认的。哪一个可能是原因?嗯,在你的代码中,你指的是QDoubleSpinBox,但样式是QSpinBox。我想这可能是一种不同。
"QSpinBox::down-button:hover { width: 80px; height: 77px; background-color: yellow; }"