我尝试在QGraphicsView上调用self.setStyleSheet("background: transparent; border: transparent;")
,但它仍然在顶部边缘留下1像素边框。我也尝试用border: transparent;
替换border-style: none;
,但它也没有用。
以下是问题的屏幕截图:
什么命令将完全删除QGraphicsView的边框?
答案 0 :(得分:6)
您可以使用以下css规则之一:
graphicsView.setStyleSheet("border-width: 0px; border-style: solid")
或
graphicsView.setStyleSheet("border: 0px")
你的边界应该消失。
import sys
from PyQt4.QtGui import *
class Ui(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
graphicsView = QGraphicsView()
graphicsView.setStyleSheet("border: 0px")
grid = QGridLayout()
grid.addWidget(graphicsView)
self.setLayout(grid)
app = QApplication(sys.argv)
ui = Ui()
ui.show()
sys.exit(app.exec_())
以下是具有默认样式的小部件:
http://i.stack.imgur.com/gpwaW.png
现在应用了样式的小部件:
答案 1 :(得分:0)
如果QGraphicsView
是顶级窗口,请尝试:
self.setContentsMargins(QMargins())
如果没有,则在QGraphicsView
和顶级窗口之间的每个布局和窗口小部件(在两个类中定义该函数)上调用相同的函数。
PS:QMargins()
是QtCore的一部分,当调用其构造函数而没有任何参数时,四个边距设置为0.