V
28 ноября 2019 г. 16:32

ApplicationWindow FullScreen

QML, fullscreen

Добрый день.

Что-то не получается у меня заставить окно приложения развернуться на весь экран:

import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Window 2.3

ApplicationWindow {
    id: root
    visible: true

    visibility: Window.FullScreen
}

Подскажите куда копать.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
7

Добрый день.
А в консоль пишет какие-нибудь ошибки? возможно не находит какие-то модули.
Потому что в вашем коде ломаться нечему, это должно работать

V
  • 29 ноября 2019 г. 8:32
  • Ответ был помечен как решение.

Ошибок в консоль никаких не уходит.

Но я не упомянул сразу, что я запускаю qml через PyQt5.
Попробовал создать пустой проект в QTCreator, состоящий исключительно из этого кода - FullScreen сразу же работал.
После этого я решил на всякий случай перекомпилировать qml.qrc в новый питоновский файл ресурсов:

pyrcc5 gui/qml.qrc -o gui/qml_rc.py

и приложение стало запускаться в fullscreen.

PyQt5 - с этого и надо было начинать. Я бы написал проект так, чтобы не компилить всё ресурсы.

main .py

from PyQt5.QtGui import QGuiApplication
from PyQt5.QtQml import QQmlApplicationEngine

if __name__ == "__main__":
    import sys

    app = QGuiApplication(sys.argv)
    engine = QQmlApplicationEngine()
    engine.load("main.qml")

    engine.quit.connect(app.quit)
    sys.exit(app.exec_())

main.qml

import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Window 2.3

ApplicationWindow {
    id: root
    visible: true

    visibility: Window.FullScreen
}

Я добавил пример проекта для вашего вопроса в этот репозиторий

V
  • 2 декабря 2019 г. 6:40

Сначала я не использовал компиляцию ресурсов и мой проект выглядел именно так :-), но потом, т.к. проект будет расширяться, я решил добавить модульность, например модуль Styles, где определяю properties, модуль-провайдер ресурсов типа картинок и т.п.
А для этого мне показалось, что удобнее будет делать всё через qrc.

В любом случае спасибо.

Ну если вы будете использовать разные модули в разных проектах потом, то, конечно, стоит сделать так, как вы сделали. Согласен с вами.
Да и в рамках крупного проекта тоже имеет смысл.

Попробуйте написать так.

import QtQuick 2.12
import QtQuick.Controls 2.12

ApplicationWindow
{   
    id: general_win
    visible: true
    visibility: "FullScreen"
    title: qsTr("FullScreen_Window")
}
V
  • 3 декабря 2019 г. 6:19

Спасибо за вариант, но у меня работает и так:

visibility: Window.FullScreen

Проблема решилась перекомпилированием файла ресурсов.

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Donate

Здравствуйте, уважаемые пользователи EVILEG !!!

Если сайт вам помог, то поддержите разработку сайта финансово, пожалуйста.

Вы можете сделать это следующими способами:

Спасибо, Евгений Легоцкой

СБ
5 декабря 2019 г. 8:01
Сергей Бедерин

C++ - Тест 001. Первая программа и типы данных

  • Результат:60баллов,
  • Очки рейтинга-1
АС
4 декабря 2019 г. 6:39
Артур Салмин

C++ - Тест 005. Структуры и Классы

  • Результат:33баллов,
  • Очки рейтинга-10
СТ
2 декабря 2019 г. 16:05
Сергей Тимченко

Qt - Тест 001. Сигналы и слоты

  • Результат:68баллов,
  • Очки рейтинга-1
Последние комментарии
6 декабря 2019 г. 12:47
Евгений Легоцкой

я подумал насчёт debug/release, но мне показалось - это сильно очевидным )))) Насчёт cmake согласен - он лучше
r
6 декабря 2019 г. 12:46
romankoshelev

С cmake разобрался. Всетаки писать на нем сильно проще. С размером dll тоже разобрался. windeployqt надо давать флаг --release (тогда библиотеки в 20 раз меньше)
6 декабря 2019 г. 12:40
Евгений Легоцкой

Конечно, хорошо бы это дело и на cmake сделать, но если честно, в задачах у меня такого нет, а делать специально только это сейчас времени тоже не хватает. увы. А что касается гигабайта Qt…
r
6 декабря 2019 г. 11:37
romankoshelev

А что сделать чтоб qt не тащило весь свой гигабайт в инсталлер?
Сейчас обсуждают на форуме
6 декабря 2019 г. 7:10
qml_puthon_user

Доброго времени суток. Пытаюсь сделать отображение с веб-камеры в графическом интерфейсе написанном на qml. Код программы: #системные библиотекиimport cv2import numpy as npimport…
5 декабря 2019 г. 16:12
Евгений Легоцкой

Это уже кастомная стилизация. Придётся отключать обрамление и самостоятельно реализовывать ресайз окна, его перемещение, стиль и т.д. Вот статья, как отключить обрамление окна - QML …
5 декабря 2019 г. 4:27
qml_puthon_user

Вот код, вдруг, кому поможет. Код основной формы: import QtQuick 2.12import QtQuick.Controls 2.12import QtQuick.Layouts 1.3import "./Components/Panels" as PanelsApplicationWindow{…
5 декабря 2019 г. 2:50
Евгений Легоцкой

Создавайте новые темы, чтобы не было всё в куче.
4 декабря 2019 г. 22:07
qml_puthon_user

Спасибо за помощь! :) Я попытаю надежды в ожидании QtQuick3D от Riverbank'a. :)
EVILEG
О нас
Услуги
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB