无法完全删除 PyQt QGraphicsView 的边框

发布于 2024-12-03 09:29:38 字数 334 浏览 1 评论 0原文

我曾尝试在 QGraphicsView 上调用 self.setStyleSheet("background:transparent; border:transparent;"),但它仍然在顶部边缘留下 1 像素边框。我也尝试过用 border-style: none; 替换 border:transparent; ,但它也不起作用。

这是问题的屏幕截图:

Problematic line

什么命令将完全从 QGraphicsView 中删除边框?

I have tried calling self.setStyleSheet("background: transparent; border: transparent;") on a QGraphicsView, but it still leaves a 1 pixel border on the top edge. I have also tried replacing border: transparent; with border-style: none;, but it didn't work either.

Here is a screenshot of the problem:

Problematic line

What command will fully remove the border from the QGraphicsView?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

好多鱼好多余 2024-12-10 09:29:38

您可以使用以下 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_())

这是具有默认样式的小部件:

在此处输入图像描述

现在应用了样式的小部件:

在此处输入图像描述

You can use one of the following css rule:

graphicsView.setStyleSheet("border-width: 0px; border-style: solid")

or

graphicsView.setStyleSheet("border: 0px")

Your border should disappear.

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_())

Here is the widget with the default style:

enter image description here

And now the widget with the style applied:

enter image description here

友谊不毕业 2024-12-10 09:29:38

如果 QGraphicsView 是顶级窗口,请尝试:

self.setContentsMargins(QMargins())

如果不是,则在 QGraphicsView 之间的每个布局和小部件上调用相同的函数(该函数在两个类中定义)和顶层窗口。

PS:QMargins()是QtCore的一部分,当不带任何参数调用其构造函数时,四个边距设置为0。

If the QGraphicsView is the top level window, try:

self.setContentsMargins(QMargins())

If not, you call the same function on every layouts and widgets (the function is defined in both classes) between the QGraphicsView and the top level window.

PS: QMargins() is part of QtCore, and when its constructor is called without any parameters, the four margins are set to 0.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文