我有一个
QPushButton
,我尝试过改变它的风格:颜色、形状等...
我用过这样的东西:
button->setStyleSheet(QString::fromUtf8("QPushButton{background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
"stop: 0 white, stop: 1 grey);"
"border-style: solid;"
"border-width: 2px;"
"border-color: black;"
"border-radius: 15px;}"));
但是我得到一个带有圆形边框的按钮,其背景不是圆形的,所以它就看不见了。
我尝试过填充,但不起作用。小内边距没有任何作用,而大内边距则隐藏背景。
我有一个扩展了
QGraphicsView
的小部件窗口(在 Designer 中创建)。我使用代码创建了QGrapchisScene
。然后我向该场景添加了一个像素图和我的按钮(Button 类继承了 QPushButton
),我得到了这样的结果:
使用此 QSS:
QPushButton {
color: grey;
border-image: url(/home/kamlie/code/button.png) 3 10 3 10;
border-top: 3px transparent;
border-bottom: 3px transparent;
border-right: 10px transparent;
border-left: 10px transparent;
}
不要使用像素图,直接从 QSS 使用它,如下所示:Qt 样式表示例 — QPushButton 和图像
我必须使用像素图,因为它是整个窗口的背景,而不是按钮。 我解决了我的问题:我改变了一些东西,我应该将 qGraphicsView 设置为按钮的父级,只有这样它才能正常工作。