Exemple #1
0
    def init_window_size(self):
        desktop = QDesktopWidget()
        max_widget_height = desktop.availableGeometry(
            desktop.screenNumber(self)).height() - 50
        max_widget_width = desktop.availableGeometry(
            desktop.screenNumber(self)).width()

        self.setMaximumWidth(int(max_widget_width))
        self.setMaximumHeight(int(max_widget_height))
Exemple #2
0
    def __resize_video(self, check_desktop_size=False) -> None:

        if self.isFullScreen() or self.isMaximized(
        ) or not self.__player.has_video():
            return

        # Block until the first frame has been decoded
        # TODO: Find a better way to do this
        while self.__player.video_width() == 0:
            pass

        width = self.__player.video_width()
        height = self.__player.video_height()

        if check_desktop_size:
            desktop_widget = QDesktopWidget()
            screen_geometry = desktop_widget.screenGeometry(
                desktop_widget.screenNumber(QCursor.pos()))

            if self.height() - self.widget_mpv.height(
            ) + height > screen_geometry.height():
                height = int(screen_geometry.height() * 2 / 3)
                width = int(width * height / self.__player.video_height())

        # DA FUQ!
        # Have not found a better way .. :/
        for i in range(0, 8):
            if width and height:
                additional_height = self.height() - self.widget_mpv.height()
                self.resize(width, height + additional_height)

        self.__move_window_to_center()
Exemple #3
0
    def __move_window_to_center(self) -> None:
        """
        Moves window to center of the screen.
        https://wiki.qt.io/How_to_Center_a_Window_on_the_Screen
        """

        desktop_widget = QDesktopWidget()
        screen_geometry = desktop_widget.screenGeometry(
            desktop_widget.screenNumber(QCursor.pos()))

        self.setGeometry(
            QStyle.alignedRect(Qt.LeftToRight, Qt.AlignCenter,
                               self.window().size(), screen_geometry))