Переключить полноэкранный режим в медиаплеере, разработанном с использованием Qt - PullRequest
1 голос
/ 07 декабря 2011

В настоящее время я занимаюсь разработкой медиаплеера с использованием Qt. Одна из необходимых общих функций - возможность переключения на весь экран.

Холст рендеринга по сути является QGLWidget (я выделил его из подкласса). Он добавляется в окно приложения, которое является основным окном для этого медиаплеера. Помимо холста рендеринга, окно приложения имеет панель инструментов, строку состояния и другие небольшие виджеты. Полноэкранный режим, который я хочу реализовать, состоит в том, чтобы холст рендеринга занимал весь экран без видимых других виджетов. Между тем, я все еще могу запускать события, нажимая клавиши.

Я попытался сбросить родителя холста рендеринга в 0 и вызвать функцию showFullScreen (). И я вызвал hide () в окне приложения. Это заставляет холст занимать весь ожидаемый экран. Тем не менее, приложение не захватывает событие нажатия клавиши. В результате я не могу вернуться к нормальной жизни. Кроме того, фон холста мигает между черным и белым (по умолчанию фон белый).

В любом случае, я не думаю, что способ, которым я попробовал, - лучший способ реализовать это. Поскольку, когда я вернусь в нормальное состояние, будут происходить сложные переучивания. И всем приложением становится трудно управлять, потому что в полноэкранном режиме будут выполняться некоторые задачи, такие как просмотр значений piexl (источник необработан).

Кто-нибудь может предложить лучший способ реализовать переключение на весь экран?

1 Ответ

0 голосов
/ 07 декабря 2011

Какую версию вы используете?

Я предлагаю вам решение, которое вы должны проверить. Если вы хотите работать в полноэкранном режиме, попробуйте сделать копию своего контента (если видео находится в виджете, откройте новый QWidget и скопируйте контент в новый виджет), теоретически у вас будет 2 виджета с одинаковым содержанием но вам не нужно скрывать и уменьшать размер чего-либо. Скажите, сработало ли это для вас.

Во-вторых, посмотрите на этот пост, может быть полезно:

Наконец, прочитайте еще раз, вы могли что-то пропустить: / http://doc.qt.io/qt-5/qwidget.html#showFullScreen

Скажите, если я что-то неправильно понял, или что-то (и что) помогло.

...