如何使用样式表创建带有2个边框的按钮?

时间:2014-03-07 17:11:48

标签: qt stylesheet

我正在尝试使用样式表来自定义QPushButton。使用以下样式表,我创建了一个带有灰色背景和周围黑色边框的按钮:

 background-color: rgb(97, 97, 97); 
 border-style: outset;
 border-width: 1px;
 border-color: rgb(0, 0, 0);
 border-radius: 4px;
 color:rgb(255, 255, 255);

我想使用样式表在按钮周围添加第二个边框。我尝试设置填充颜色,但似乎没有做任何事情。是否可以添加第二个边框?

2 个答案:

答案 0 :(得分:1)

如果您只想使用样式表,那可能是不可能的。

类似的解决方案是将border-style更改为 double ,例如

background-color: rgb(97, 97, 97);
border-style: double;
border-width: 3px;
border-color: rgb(0, 0, 0);
border-radius: 4px;
color:rgb(255, 255, 255);

所有available borders

关于填充,无法为其设置颜色。解释它的外观here

答案 1 :(得分:0)

使用QFrame包裹按钮,并在QPushButton之外设置QFrame样式。

//    ------Widget------
//      ------hbox----------
//        ------QFrame---------
//          ------frameLayout-----
//            ------QPushButton-----

QHBoxLayout * hbox = new QHBoxLayout;
QFrame * frame = new QFrame;
QPushButton * button = new QPushButton("Double Border Button");
QHBoxLayout * frameLayout = new QHBoxLayout;
frameLayout->addWidget(button);
frame->setLayout(frameLayout);
hbox->addWidget(frame);
this->setLayout(hbox);

希望有所帮助。