Задать вопрос
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
  • Вопрос задан
  • 380 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
milssky
@milssky Автор вопроса
Координатор племени фиолетовых обезьянок
Ответ прост. Нужно было настроить отступы поля контента.
self.layout.setContentsMargins(0, 0, 0, 0)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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