如何去除背景周围的白色边框?

2024-05-01 08:56:50 发布

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

下面的代码生成一个黑色背景的窗口。不幸的是,背景被一条细细的白线框住了。你知道吗

我试过将其他背景参数设置为黑色,但没有成功。你知道吗

import sys

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QGraphicsView, QGraphicsScene


class GraphicsWindow(QGraphicsView):

    def __init__(self, parent=None):
        super(GraphicsWindow, self).__init__(parent)
        scene = QGraphicsScene(self)
        self.setScene(scene)
        self.setBackgroundBrush(Qt.black)

def main():
    app = QApplication(sys.argv)
    graphics_window = GraphicsWindow()
    graphics_window.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

我想创建一个完全黑色背景的窗口,但它有一个薄薄的白色框架。你知道吗


Tags: fromimportselfinitmaindefsysqt
2条回答

您必须更改QGraphicsView的背景色,例如使用QPalette:

import sys

from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPalette
from PyQt5.QtWidgets import QApplication, QGraphicsView, QGraphicsScene


class GraphicsWindow(QGraphicsView):
    def __init__(self, parent=None):
        super(GraphicsWindow, self).__init__(parent)
        scene = QGraphicsScene(self)
        self.setScene(scene)
        self.setBackgroundBrush(Qt.black)
        pal = self.palette()
        pal.setColor(QPalette.Window, Qt.black)
        self.setPalette(pal)

def main():
    app = QApplication(sys.argv)
    graphics_window = GraphicsWindow()
    graphics_window.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

可以在类的init方法中添加css样式:

    def __init__(self, parent=None):

        super(GraphicsWindow, self).__init__(parent)
        scene = QGraphicsScene(self)
        self.setScene(scene)
        self.setBackgroundBrush(Qt.black)

        self.setStyleSheet("border:0px")

相关问题 更多 >