我正在使用QPushButton
类,并在设置样式表后将对象添加到QGraphicsProxyWidget
。但是,当我设置border-radius
时,background-color
仍然会与边框重叠。我怎么摆脱这个?
示例:(其中levelOneEasyProxy为QGrpahicsProxyWidget
)
QPushButton* levelOneEasyButton = new QPushButton();
levelOneEasyButton->setGeometry(QRect(sceneRect().width()*0.05, sceneRect().height()*0.2, 70, 50));
levelOneEasyButton->setText("1");
levelOneEasyButton->setStyleSheet("QPushButton {"
"background-color: rgb(92, 249, 158);"
"color: white;"
"font-size: 16px;"
"border-style: solid;"
"border-width: 2px;"
"border-radius: 10px;"
"}"
"QPushButton:pressed {"
"background-color: rgb(66, 191, 118);"
"}");
levelOneEasyProxy = addWidget(levelOneEasyButton);
levelOneEasyProxy->setZValue(10.0);
当前结果:
答案 0 :(得分:1)
我发现使用上面的代码会设置border-radius
,但需要使用translucent
上的setAttribute
将背景设置为QPushButton
。这可以使用以下代码完成:
qPushButtonObject->setAttribute(Qt::WA_TranslucentBackground);
这将消除重叠的background-color
。