milssky
@milssky
Координатор племени фиолетовых обезьянок

Как расположить fullscreen виджет по центру экрана?

Вопрос сам по себе звучит глупо, но тем не менее. Имеем вот такой код:
class MainWindow(QWidget):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.screenshot = QApplication.primaryScreen().grabWindow(0)
        self.settings()
        self.create_widgets()
        self.set_layout()

    def settings(self):
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.setWindowState(QtCore.Qt.WindowFullScreen)

    def create_widgets(self):
        self.image_preview = QLabel()
        self.image_preview.setPixmap(self.screenshot)

    def set_layout(self):
        self.layout = QGridLayout(self)
        self.layout.addWidget(self.image_preview, 0, 0, alignment=QtCore.Qt.AlignCenter)
        self.setLayout(self.layout)


Делаем скриншот экрана, и в QLabel выводим его на экран без рамок и кнопок. И получаем немного съехавшее окно вправо вниз, как на скриншоте (белая рамка слева и сверху).
  1. Дело в QGridLayout?
  2. Как исправить?

5d2f589558071577721096.png
  • Вопрос задан
  • 365 просмотров
Решения вопроса 1
milssky
@milssky Автор вопроса
Координатор племени фиолетовых обезьянок
Ответ прост. Нужно было настроить отступы поля контента.
self.layout.setContentsMargins(0, 0, 0, 0)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы