Russian Qt Forum
Апрель 18, 2024, 09:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt + Android, проблемы с портированием ...  (Прочитано 4820 раз)
saim
Гость
« : Июль 24, 2014, 18:00 »

Здравствуйте ! У меня проблемы с портированием приложения desktop на платформу android . Прочитав и пересмотрев видео по qt & android у меня вышло элементарные примеры скомпилировать и запустить на реальном устройстве, когда же дело дошло до решения задачи то я столкнулся с проблемой, а именно когда пытаюсь запустить приложения  (не важно на виртуальном или реальном устройстве ) кроме черного экрана ничего не вижу... Приложение использует след модули qt - core, gui, network, multimedia, и что то вроде сторонней библиотеки spectrum (для визуализации при воспроизведении звуковой дорожки) ..
Помогите с портированием  приложения куда копать , что еще посмотреть , это вообще реально ?

P.S. Заранее спасибо!   
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Июль 24, 2014, 18:04 »

Вы наверное и QML использовали? Улыбающийся
Записан

saim
Гость
« Ответ #2 : Июль 24, 2014, 18:13 »

Нет.
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #3 : Июль 24, 2014, 18:45 »

Смотрите лог в DDMS во время запуска.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
saim
Гость
« Ответ #4 : Июль 25, 2014, 12:58 »

Выяснил в чем проблема .. Приложение запускается на реальном устройстве только после перезагрузки девайса ...
И еще не понятно по поводу того как он преобразует виджеты, они получаются искаженными  ..
« Последнее редактирование: Июль 25, 2014, 14:24 от saim » Записан
saim
Гость
« Ответ #5 : Июль 29, 2014, 22:46 »

Ни кто не сталкивался ?? Может нужно какие-то флаги юзать ?
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #6 : Июль 30, 2014, 00:45 »

Что именно искаженное? Можно увидеть скриншоты?
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 870


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #7 : Июль 30, 2014, 11:09 »

Ни кто не сталкивался ?? Может нужно какие-то флаги юзать ?
Я сталкивался. Размеры виджетов и шрифты сильно уменьшаются в Andрoid. А что с эти делать, пока не разбирался.
Будет информация - сообщите.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
saim
Гость
« Ответ #8 : Июль 30, 2014, 11:56 »

Скриншоти :
1) Desktop, как оно на самом деле есть ..
2) Android, с реального устройства (на виртуальном вижу только черный экран при запуске, а ан реальном устройстве приложение запускается только после перезагрузки ).
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #9 : Июль 30, 2014, 12:23 »

Шрифт вручную задавал или дефолтный?
Ощущение такое, что шрифта нету на устройстве и он подбирается, но как-то хреново. Еще и dpi другой.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
saim
Гость
« Ответ #10 : Июль 30, 2014, 12:30 »

Шрифт MS Shell Dlg 2 , устанавливал на форме ... а с виджетами что , они по идеи должны сами подгоняться ??!
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #11 : Июль 30, 2014, 12:32 »

Они берут от парента настройку.
Попробуй "Droid Sans"
« Последнее редактирование: Июль 30, 2014, 12:34 от Пантер » Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #12 : Июль 30, 2014, 13:27 »

1) Насколько я знаю, стандартные Android виджеты будут показываться в данной версии Qt только при запуске с Ministro, поэтому у вас они выглядят как на десктопе.
2) Я сам с QtWidgets на Android дела не имел, а только с QML, но могу сказать, что тут не все так просто с масштабированием элементов как на десктопе. Одними лэйаутами тут вряд ли обойдешься и надо смотреть в сторону DP величин. http://developer.android.com/guide/practices/screens_support.html

Я вот так в Java коде определял коэффициент:
Код:
//определяем коээфициент масштабирования
float screenFactor = 0.0f;
        switch (getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) {
        case Configuration.SCREENLAYOUT_SIZE_SMALL:
            screenFactor = 0.75f;
            break;

        case Configuration.SCREENLAYOUT_SIZE_LARGE:
            screenFactor = 1.5f;
            break;

        case Configuration.SCREENLAYOUT_SIZE_XLARGE:
            screenFactor = 2;
            break;

        case Configuration.SCREENLAYOUT_SIZE_NORMAL:
            screenFactor = 1;
            break;

        }
        m_scaleFactor = getResources().getDisplayMetrics().density * screenFactor;

Потом в приложении размер в пикселях умножаешь на коэффициент и получается реальный размер элемента, который будет смотреться нормально на экранах с разной плотностью.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 23.