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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1] 2 3 ... 86
1  Qt / Qt Embedded / Re: Распространение closed-source приложений в мобильных магазинах : Март 15, 2018, 02:34
Поглядеть на что? На сами приложения на Google Play? Для "правильности" надо смотреть на многие приложения, особенно на сделаные самим Google. А мои специфичны, это плееры с интерфейсом в виде винтажных магнитофонов. Там фактически по 2 экрана у каждого приложения, никаких меню нет, многих обычных фишек нет. Поэтому их нельзя считать "правильными" для Андроид - есть много канонов интерфейса, которые надо соблюдать при создании "правильных" приложений. Это всё у Google описано в руководствах для разработчиков. Но глянуть конечно можно - поиск GourmetLabs выдаст все мои приложения на Google Play.

Если же вопрос об исходниках, то я их не раздаю.
2  Qt / Qt Embedded / Re: Распространение closed-source приложений в мобильных магазинах : Март 13, 2018, 17:03
спасибо за ответ!

а где-то указываешь информацию о том, что используется Qt (на своем сайте/в описании в магазине/в самом приложении)?

Нигде.
3  Qt / Qt Embedded / Re: Здесь есть кто-нибудь, успешно работающий с AdMob в Qt без Appodeal? : Март 13, 2018, 14:56
up

С QtAdMob никто не работал?
4  Qt / Qt Embedded / Re: Распространение closed-source приложений в мобильных магазинах : Март 13, 2018, 14:55
Мои приложения распространяются в Google Play уже скоро год. Сборка производится типовыми средствами Qt (ant) с библиотеками Qt под LGPL. Никакие лицензии это не нарушает.  Правила Google тоже не нарушает. Надо просто выполнять все требования Google - подписывать приложение, изменять вовремя номера версий, и т.д. Платные без рекламы продаются, с рекламой раздаются бесплатно. Постоянно делаю новые приложения, последнее выкладывал в феврале.

Про Apple Store ничего не скажу, поддержку устройств Apple не планирую в принципе. Но думаю, там всё будет точно также, главное выполнять явно указанные требования Apple.
5  Qt / Qt Embedded / Здесь есть кто-нибудь, успешно работающий с AdMob в Qt без Appodeal? : Февраль 11, 2018, 18:21
Мои приложения используют Appodeal уже скоро почти год. Но теперь возникли проблемы. Во-первых, SDK для Qt не обновлялся, а имеющийся содержит баги из-за которых я недополучаю деньги - количество запросов на рекламу от приложения маленькое, и не растёт с ростом числа активных пользователей. Во-вторых с марта 2018 Appodeal прекратит доработки SDK для Qt, то есть если там будут дыры, то это уже навсегда. Обещают, что всё будет работать, и ранее созданные приложения будут поддерживаться, но на других надейся, а сам не плошай. В любой момент это может перестать работать из-за какого-нибудь изменения протокола сервера Appodeal. Поэтому есть желание вообще отказаться от Appodeal и подключить свои приложения к AdMob напрямую. Потом, возможно и к сети Facebook.

Вот тут хочется пообщаться с теми, кто так уже делал, поскольку есть вопросы.

Самый главный - какие доступные библиотеки лучше всего работают? Я посмотрел несколько, везде есть косяки. Где их меньше всего, если у меня в приложениях только банеры? И ещё такой момент - с 28 октября 2018 AdMob требует "не более 3-х запросов рекламы на водопад" как мне пояснили в Appodeal. Они подстроили свои серверы под это требование - но если я буду использовать прямые библиотеки, то мне нужно это контролировать самому. Тут мне не всё понятно. Ну и практические вопросы по интеграции тоже были.

6  Qt / Qt Embedded / Re: Как редактировать AndroidManifest.xml, если он пересоздается при сборке? : Февраль 11, 2018, 18:07
Во-первых, это не тот AndroidManifest.xml. Всё, что находится в каталоге ../build-.... создаётся при сборке, и изменению вручную не подлежит. Всё, что редактируется, находится в подкаталоге проекта. Тот AndroidMainfest.xml , который надо изменять, в подкаталоге android проекта. Создаётся он там автоматически при создании приложения для Android. Во-вторых, AndroidMainfest.xml доступен для редактирования в QtCreator в дереве проекта в "Другие файлы/android". По-умолчанию он открывается в редакторе формы, но над ним есть кнопка "Исходник XML" которая переключает в обычный текстовый вид.
7  Qt / 2D и 3D графика / QLinearGradient не работает на QPainter::drawLine()? : Январь 29, 2018, 16:25
Надо закрасить прямую вертикальную линию градиентом.

Код:
       QLinearGradient lg = QLinearGradient();
        lg.setCoordinateMode(QGradient::ObjectBoundingMode );
        lg.setStart(0,0);
        lg.setFinalStop(0,1);
        lg.setColorAt(0.0,QColor(255,255,255));
        lg.setColorAt(0.7,QColor(255,255,000));
        lg.setColorAt(1.0,QColor(255,127,000));
        p.setPen( QPen(QBrush( lg ), 1) );

Закрашивает всю линию последним цветом. Встречаются сообщения, что в 4-й версии была ошибка с градиентом на вертикальных и горизонтальных линиях, но она выглядела иначе - закрашивалось серым. И QTBUG про 5-ю версию я не нашёл.

Я что-то делаю не так, или дырка всё ещё сохранилась?

PS: Чёрт... вот он баг. Никуда не делся. Аж до последней версии дотащили, бездельники.  Злой
8  Qt / Общие вопросы / Re: Qt: FAQ о лицензии. Commercial vs Opensource : Январь 17, 2018, 17:35
Для русскоязычных пользователей возможен русскоязычный специалист ? 

Не исключено, поскольку там есть говорящие по-русски специалисты. Вообще-то в Питере есть "Диджия Рус", по крайней мере несколько лет назад была. Но лучше это всё уточнять в самой Digia.

Цитировать
(и общение при оформлении лицензии с бухгалтерией по русски).

Опять же с этим вопросом стоит обратиться в Digia. По-английски там точно говорят практически все.
9  Qt / Общие вопросы / Re: Qt: FAQ о лицензии. Commercial vs Opensource : Январь 16, 2018, 00:50
Какие-нибудь преимущества, кроме возможности получать коммерческую выгоду, использование лицензии(коммерческой) даёт?

  Качественная техподдержка? Русскоязычная техподдержка?
  Меньшее количество багов?  Возможность статической сборки? (Начал пробовать  триальную коммерческую версию - разницы и где включается возможность статической сборки пока не замечаю).

   Есть задача писать софт на предприятии для технологического оборудования для внутренного использования.

Коммерческую выгоду и без коммерческой лицензии получать можно - распространяя по LGPL. Баги изначально все те же, никакой разницы в исходниках нет. В отличие от LGPL, коммерческая версия позволяет распространять приложения, собранные статически. Создавать их можно и без неё, но распространять нельзя. Хотя полезность этого очень сомнительна. Для внутреннего пользования, если не надо распространять, то вообще пофик - LGPL выше крыши. Статическая сборка немного упрощает установку и уменьшает размер приложения, но для внутреннего использования это опять же пофик. Единственный реальный плюс статической версии - приложение не будет падать, если ему окажутся доступны динамические библиотеки Qt от несовпадающей с приложением версии. Кстати, со статической сборкой по крайней мере в 4-м Qt был косяк - в статической сборке не работала система плагинов. Они тупо не грузились. Возможно это поправлено в 5-м, не проверял - в 5-м плагины отличаются от 4-го (чуть проще их делать). Если не исправили, то поскольку любое более менее крупное приложение, спроектированное без использования плагинов - это монстроузное угрёбище, то от статической сборки мало толку.

Единственный реальный плюс коммерческой версии - Digia выделяет персонального специалиста техподдержки, к которому можно обращаться с любыми техническими проблемами, и он при этом не имеет права сказать "задайте ваш вопрос в списке рассылки Qt Interest List". В течение года он обязан помогать решать любые проблемы, если обнаруживаются баги, то они должны ускоренно закрываться с выдачей патча той же версии Qt, а не "когда-нибудь потом через 2 релиза". То есть, если планируется делать какой-то очень серьёзный промышленный софт, от устойчивости которого зависимость gross income выражается в пяти- и более значных суммах в СКВ, то коммерческая версия имеет смысл. ИМХО.
10  Qt / 2D и 3D графика / Re: Отрендерить QFrame в QPixmap. : Декабрь 22, 2017, 12:51
grab медленный
пофик, мне надо с частотой 15 кадров в секунду грабить небольшой прямоугольник 140х110, скорости хватает даже на старом медленном планшете с Android
11  Qt / 2D и 3D графика / Re: Отрендерить QFrame в QPixmap. : Декабрь 21, 2017, 23:04
Всё. pm = grab(QRect(QPoint(0,0),size())); в другом методе перед перерисовкой - и нормально работает.

12  Qt / 2D и 3D графика / Re: Отрендерить QFrame в QPixmap. : Декабрь 21, 2017, 21:08
А так ?
Код
C++ (Qt)
QPainter painter(&pm);
render(&painter);
 

Код:
   QPixmap pm( size() );
    QPainter p(&pm);
    render( &p );

Цитировать
(null):0 ((null)): QWidget::repaint: Recursive repaint detected

и потом падает. Очевидно render() вызывает paintEvent() - появляется рекурсия. А мне надо именно в paintEvent содержимое этого QFrame получить... Буду думать...
13  Qt / 2D и 3D графика / Re: Отрендерить QFrame в QPixmap. : Декабрь 21, 2017, 17:04
А так ?
Код
C++ (Qt)
QPainter painter(&pm);
render(&painter);
 

именно рендерить painter, не pixmap? не пробовал, по логике это как-то... хотя...
14  Qt / 2D и 3D графика / Отрендерить QFrame в QPixmap. : Декабрь 21, 2017, 00:25
Qt 5.6, правда надо сказать - Android версия. Надо схватить картинку c безрамочной QFrame в QPixmap. И потом на ней рисовать с помощью QPainter. Вроде бы всё просто. Внутри paintEvent() класса, который наследует QFrame:
Код:
    QPixmap pm( size() );
    pm.fill(Qt::black); // без этого появляется цветной шум
    render( &pm );
    QPainter p(&pm);
....

Нифига. Чёрное поле. Наличие цветного шума без очистки пиксмапа говорит о том, что render(&pm) ничего не делает, не изменяет содержимое картинки. На всякий случай попытался указать размеры:

Код:
    render( &pm, QPoint(0,0), QRegion(0,0,width(),height()) );

Так вообще падает...  В замешательстве

ЧЯДНТ?
15  Qt / Qt Embedded / Как в Qt-приложении для Android поймать onRequestPermissionsResult? : Ноябрь 23, 2017, 21:58
Нужно для Android 6 запрашивать разрешения у пользователя и получать его ответ. Запрашивать получается, но получать ответ - нет.

Код:
public class PlayControl extends QtActivity
{
.....
    public static boolean requestPermission()
    {
        boolean p = true;
        if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.M )
        {
            Activity a = QtNative.activity();
            Context c = a.getApplicationContext();
            if( c.checkSelfPermission(Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED )
            {
                ActivityCompat.requestPermissions(a, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE,
                                                    Manifest.permission.READ_EXTERNAL_STORAGE,
                                                    Manifest.permission.RECORD_AUDIO }, 1);
                p = false;
            }
        }
        return p;
    }

    public void onRequestPermissionsResult(int requestCode, String permissions[], int grantResults[])
    {
        NativeCall.permissionsGranted();
    }
}

Колбэк onRequestPermissionsResult(...) хронически не вызывается. Примеров для Qt не нашёл. Может кто видел как это сделать? Именно в Qt.
Страниц: [1] 2 3 ... 86
Страница сгенерирована за 0.098 секунд. Запросов: 23.