如何使用样式表将 QPushButton 的角变圆?

问题描述 投票:0回答:2

我有一个

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
),我得到了这样的结果:

qt qtstylesheets
2个回答
1
投票

使用此 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 和图像


0
投票

我必须使用像素图,因为它是整个窗口的背景,而不是按钮。 我解决了我的问题:我改变了一些东西,我应该将 qGraphicsView 设置为按钮的父级,只有这样它才能正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.