Просмотр сообщений
|
Страниц: 1 [2] 3 4 ... 55
|
17
|
Qt / Вопросы новичков / Re: переобъявить переменную
|
: Май 29, 2020, 18:30
|
имеется переменная model, которая, в зависимости от состояния переключателя, может быть QSqlQueryModel или QStandardItemModel. как в коде переобъявить переменную под нужный тип? такая конструкция не работает: QVariant *model; if(ui->checkBox->isChecked()){ model=new QSqlQueryModel(); }else{ model = new QStandardItemModel(); } А что дальше ты с этой моделью планируешь делать? А так просто замени свой странный QVariant* на QAbstractItemModel* И рекомендую, чтобы больше не задавать таких вопросов, ознакомиться с наследованием в C++, внимательно вглядеться в документацию по Qt, для каждого класса указывается цепочка его предков. Также обязательно почитай что такое QVariant и как его использовать.
|
|
|
18
|
Qt / Общие вопросы / Re: QWebEngine и YouTube
|
: Май 07, 2020, 16:14
|
Доброго времени суток! Появилась необходимость сделать виджет с возможностью посмотреть ролик на youtube. Сделал форму, на неё кинул QWebEngine, необходимые кнопки - всё работает. Теперь нужно запустить сам ролик - кидаю в QWebEngine event нажатия клавиши "пробел" ... и ничего не происходит. Если сделать виджет с (к примеру) QTextEdit, то видно, что "пробел" повляется в виджете. Как правильно запустить ролик?
Может посмотреть исходники Minitube и сделать проигрывание как у них? Там через API можно получить URL видео в нужном формате и уже его можно любым плеером проигрывать.
|
|
|
20
|
Qt / Qt-инструментарий / Re: Deprecation of Qbs
|
: Ноябрь 02, 2018, 09:56
|
С qbs я так и не смог задеплоить приложение на андроид устройство... это было странно. С cmake такое тоже не возможно без танцев с бубном. Остается только уродливый qmake.
Остается надеяться что в CMake проектах в qtcreator запилят нормальную поддержку запуска под Android и iOS
|
|
|
22
|
Qt / Qt Quick / Re: Горизонтальная ориентация на Android
|
: Сентябрь 20, 2018, 08:59
|
Есть два способа: 1) В AndroidManifest.xml находишь <activity > с классом QtActivity, меняешь свойство android:screenOrientation="unspecified" на то что тебе нужно Вот возможные значения: https://developer.android.com/guide/topics/manifest/activity-element#screen2) В Java наследуешь QtActivity, делаешь, к примеру, несколько методов: Java public class MainActivity extends QtActivity { public void setLandscapeOrientation() { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } public void setPortraitOrientation() { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } }
И вызываешь его через QtAndroidExtras из своего кода, когда тебе надо. Таким способом можно ориентацией экрана динамически управлять. C++ (Qt) QtAndroid::androidActivity().callMethod<void>("setLandscapeOrientation", "()V");
Скорее всего можно обойтись и без наследования, а звать метод setRequestedOrientation напрямую, надо просто подобрать сигнатуру вызова и понять как значение enum передать параметром.
|
|
|
23
|
Qt / Qt Quick / Re: Какую структуру программы вы делаете при использовании QML?
|
: Сентябрь 18, 2018, 22:24
|
Мне видится такая структура:
View <-> Presenter -> Model -> Repository
В этой схеме: View - это интерфейс на QML, Presenter - связующее звено между вьюхой и моделью, формирует данные для вьюхи, получаемые из модели. Реализует всю UI логику вьюхи и навигацию. Его можно реализовывать и в QML и на плюсах, по вкусу. Model - это некие сервисы и объекты данных, реализующие логику приложения без привязки к пользовательскому сценарию. Сервисы получают данные через репозитории, абстрагируясь от конкретных реализаций. Repository - это конкретные источники внешних данных (сетевые запросы, БД, QSettings, файлы)
В этой схеме главным должен быть Presenter, остальные его подчиненные.
Можно обойтись без Presenter и всю UI логику воткнуть во вьюху, как это обычно делают, но тогда вьюха получается грязной, верстка с кодом вперемешку. Также имея отдельный невизуальный Presenter мы можем писать unit тесты без инстанцирования контролов.
Все вот думаю запилить демо приложение, реализующее такую архитектуру, но руки не доходят.
|
|
|
25
|
Qt / Общие вопросы / Re: Запустить тему в Qt
|
: Август 24, 2018, 09:06
|
Если там QML, то обычно он вкомпилится ресурсами в бинарник. И можно найти его текстом. Но при сборке можно указать упаковку ресурсов при помощи zlib и тогда уже ничего в бинарнике не найти
|
|
|
30
|
Qt / Qt Quick / Разыскиваю качественный пример многоэкранного QtQuickControls приложения
|
: Август 02, 2018, 22:00
|
Надо чтобы внутренняя архитектура была как минимум MVP, лучше VIPER. И чтобы была реализована подгрузка экранов асинхронно. Навигация по аналогии с андроидом. Dependency injection. Тестирование. Поддержка сохранения состояния, чтобы открывалось на том-же экране, на котором и было прибито, к примеру на Android.
Если кто-нибудь видел такой качественный пример, пожалуйста отпишитесь. Добавлю ссылку в шапку.
Все статьи, примеры, которые мне попадались сильно отстают от текущих трендов в мобильной разработке.
|
|
|
Страниц: 1 [2] 3 4 ... 55
|
|
|