2016-04-10 75 views
0

如何更改QPushButton只有一个项目setStyleSheet?单词“item”或“element”我的意思是“背景颜色”,“边框颜色”,“边框半径”等等。 如果你这样做:风格变化

setStyleSheet("QPushButton {" 
        "background-color: blue;" 
        "}"); 

剩余的元素(border-radius,...)将违约。而我只想改变其中一个元素,另一个不要碰。例如,我有QPushButton与样式像这样:

setStyleSheet("QPushButton {" 
         "background-color: blue;" 
         "border-radius: 5"; 
"}"); 

,如果我想改变border-radius这样:

setStyleSheet("QPushButton {" 
          "border-radius: 10"; 
    "}"); 

我也改变background-color为默认值,但我只想要border-radius(改变其他元素我不会改变)。

+0

你能澄清你的意思吗*默认熔化*?你想要什么和你得到什么的截图也会有很大帮助。 –

+0

@FrédéricHamidi我改变了问题 –

回答

3

Qt Style Sheets Examples

如果我们希望属性只适用于一个特定的QLineEdit,我们 可以使用QObject::setObjectName()给它一个名称,并使用一个ID 选择引用它:

myDialog->setStyleSheet("QLineEdit#nameEdit { background-color: yellow }"); 

总是先搜索Qt的文档。这是我见过的最好的之一。

+0

对不起,单词“元素”我的意思是“背景颜色”,“边框颜色”,“边框半径”,...... –

+0

@Tapac您可能会尝试制作多个样式表使用字符串连接),然后动态更改对象名称。让我知道结果。 – LogicStuff