"QSS border-radius problem on widget when zooming in"

2024-05-14 05:56:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法通过将样式表应用于小部件来获得完美的圆角。 在本例中,我使用的是qgraphicscene中的QFrame小部件,但是我可以通过将相同的CSS应用到QDialog上的QPushButton来重新创建相同的问题。 如果你放大小部件,你会看到边框不是很圆,一种正方形的形状似乎出现在他们身上

第一张图以1:1的比例说明了这一点 -

第二张图片显示了QFrame小部件的近景 enter image description here

示例:

from PySide2 import QtCore, QtGui, QtWidgets

view = QtWidgets.QGraphicsView()
scene = QtWidgets.QGraphicsScene()
view.setScene(scene)
view.show()

widget = QtWidgets.QWidget()
button = QtWidgets.QFrame(widget)
button.setGeometry(0, 0, 500, 500)
scene.addWidget(widget)

stylesheet = """
QFrame{
    border-style: solid;
    border-color: rgba(10, 10, 10, 255);
    border-width: 16px;
    border-radius: 20px;
    background-color: rgba(61, 72, 81, 255);
}
"""
button.setStyleSheet(stylesheet)
widget.setStyleSheet('background-color: transparent;')

我正在用PySide2在Maya中测试这个。 你知道有没有解决这个问题的办法吗? 提前谢谢


Tags: view部件buttonwidgetscene样式表colorbackground