Реклама

Тег → qml

  • Dmitras
  • Статья
  • 12 августа 2017 г. 0:58

Использование возможностей winExtras при работе с QML

winextras, qt, qml, TaskbarButton, ThumbnailToolBar, JumpList

Некоторое время назад я написал несколько статей об использовании библиотеки QtWinExtras, которая открывает доступ к специальным возможностям, доступным только для ОС Windows. Теперь хочется сказать пару слов о том, как повторить тоже c использованием QML.  Для этого нам понадобится создать проект Qt Quick, подключить в проекте модуль winextras

import QtWinExtras 1.0

и использовать 3 объекта: TaskbarButton для создания строкой прогресса и управления ей, ThumbnailToolBar для работы кнопками на всплывающем окне панели задач и JumpList (для работы с jumpList). Также добавим FileDialog для полноценной работы jumpList.

  • EVILEG
  • Статья
  • 5 июля 2017 г. 16:05

QML - Урок 029. Регистрация Синглетон объекта для использования "Статических" методов в QML

qml, singleton, static

Понятие статических методов, которые используются в QML несколько отличается от классического в C++, когда в классе создаются статические методы, которые можно использовать обращаясь к имени класса, а не к какому-то конкретному объекту. В случае с QML дела обстоят несколько иначе. Для того, чтобы использовать такие методы в QML, которые присутствуют в C++ классе, необходимо зарегистрировать Синглетон объект, который будет предоставлять требуемые методы, причём эти методы уже не должны быть статическими сами по себе. Они должны как минимум быть помечены макросом Q_INVOKABLE , чтобы их можно было использовать в QML.

Для регистрации Синглетона необходимо использовать функцию qmlRegisterSingletonType , в которую помимо стандартных параметров, которые передаются в qmlRegisterType , необходимо также передать статическую функцию singletonProvider , которую также предстоит написать самим.

  • razorqhex
  • Вопрос
  • 9 февраля 2017 г. 16:52

Динамическое обновление графиков QCharts

qt, qml

Всем привет! Очень требуется помощь по графикам. Есть программа, которая гоняет байты по протоколу модбас. Есть устройство, с которого считываются разные данные и токи. Именно по токам надо рисовать график. Сейчас я использую графики QCustomPlot. Но если я начинаю двигать график, приближать/уменьшать масштаб графиков, то программа вылетает. Если же график не трогать вообще, а только смотреть на него, то программа вылетать не будет. Хоть даже если 10 000 пакетов словить. Что весьма печально. Прошу помощи, готов заплатить. Я над проектом работаю пол года и сроки начинают поджимать. Я без сил уже. Я начал разбирать QChart'ы, но не могу въехать как их сделать динамическими. Чтобы можно было двигать графики. И чтобы они сами двигались, когда приходят пакеты с токами. Буду очень благодарен всем кто сможет мне помочь в этом проекте.

  • Creator
  • Вопрос
  • 3 февраля 2017 г. 19:06

Qml C++

qml, c++

Как показать в Qt Widgets вывести QtQuick? Что бы можно было потом через c++ управлять объектами в qml. Интересует именно как поместить qml в qtwidgets. Делал когда то раньше, но забыл как.

  • kondratiy
  • Вопрос
  • 13 декабря 2016 г. 22:35

[QML] Синхронизация больших спрайтов

huge sprites, qml, shaderEffect, sprite, sprites sync

Приветствую.
В моё приложение необходимо добавить несколько спрайтов. Все они имеют немалый размер, один кадр – 700х1260, кадров – от 6 до 25.
Использую ShaderEffectSource, в котором спрайты – SpriteSequence { Sprite {…} } для свойства sourceItem, далее подставляю этот ShaderEffectSource в качестве свойства source в ShaderEffect. Подставить все мои спрайты в sourceItem не удалось – превышен размер текстуры.
Решил для каждого спрайта сделать свой ShaderEffectSource, сделано. Под Linux работает, под win – ошибка qpainter’a.
Разбил каждый кадр спрайтов пополам по вертикали, увеличил вдвое количество ShaderEffectSource (соответственно получились сурсы для левой и правой частей) и добавил ещё один ShaderEffect, который прианкорил к первому. Всё замечально, работает, но имеется небольшой рассинхрон между спрайтами! При этом, если задать спрайтам frameSync: true – рассинхрона нет, но анимация отрисовывается слишком быстро, мне же необходимо выдержать фреймрэйт в 24 кадра/с.
Идеи?
  • razorqhex
  • Вопрос
  • 7 декабря 2016 г. 20:29

[QML] Loader не очищает закрытый фрагмент, когда другой фрагмент открытый

qml, qt 5.7, qtquick

Всем доброго времени суток.

Проблема вот в чем: есть Loader, есть фрагменты (Fragment1.qml, Fragment2.qml, Fragment3.qml, …).
Если находиться на фрагменте3, то элементы с фрагмента 2 будут доступны на фрагменте3. Не в плане видимости. Фрагмент3 будет показывать те “виджеты” которые на нем установлены. Также и на других Фрагментах. Но сами “виджеты” будут доступны с других компонентов. Как будто они невидимые

За основу брался проект NavigationDrawer

  • andrey
  • Вопрос
  • 19 ноября 2016 г. 4:00

Верхняя панель приложения

qml, StatusBar

Добрый день. Вот не знаю как по науке это называется, … ПРи запуске приложения на мобилке, у этой мобилки есть панелька в саом верху, на черном фоне там иконки разные, типа – уровень сигнала, время, заряд батарей… подключенное юэсби)) Вот не знаю как она называется. Хотя есть предположение что это статус бар.

Вопорс, как цвет фона поменять. И есть ли вообще в QML данный механизм?

  • EVILEG
  • Статья
  • 12 ноября 2016 г. 21:16

QML - Урок 001. TextEdit IP Address Validation

ip address, ip адрес, lineedit, qlineedit, QLineEdit example, QLineEdit IP Address, qt, qtcreator, qml

Доступны аналогичные статьи на Qt/С++ и PyQt5/Python

До полного набора уроков по Qt, на тему валидации IP-адреса дополню статьи также и вариантом на Qt/QML.

Будет также поле ввода данных, в которое будем вводить IP-адрес. Использоваться для валидации будет RegExpValidator . Одним неприятным моментом в данном случае является то, что подсунуть несколько переменных строки в данный RegExpValidator является довольно нетривиальной задачей, поэтому ограничимся написание регулярки сразу в свойстве regExp у данного объекта.

  • evru
  • Вопрос
  • 8 ноября 2016 г. 15:08

QML Binding loop detected for property

connections, qml, signal

Добрый день! Во вложении пример (Qt 5.7.0) , в котором при нажатии на кнопку подгружается Pane в StackView. Проблема в том, что в отладочном окне выводится сообщение: Binding loop detected for property “contentHeight”. Это сообщение появляется при добавлении второго Label в Pane со свойством Text.WordWrap. При добавлении еще Label – сообщения растут как на дрожжах. Как это вылечить?

Установка на паузу звука при сворачивании приложения на мобильных

Android, qml, Qt, sound

В игрушке устанавливаю бесконечно повторяющийся фоновой звук, на десктопах логично, что свернутое окно продолжает работать и воспроизводит звук, но на мобильных при переключении на другое приложение, в предыдущем следует отключать звук и ставить игру на паузу (если, конечно, речь не о музыкальном плеере). Есть возможность простым способом отловить перемещение приложения в фон, чтобы поставить игру на паузу, либо, хотя бы выключить звук?

На данный момент представляю себе только способ с переназначением java функций для андроид, где перехватывать событие onPause.

Нашёл готовую функцию для выхода звук в V-Play http://v-play.net/doc/vplay-backgroundmusic/ однако это является проприетарным ПО.

Как вариант для себя вижу в AndroidManifest.xml установить, чтобы приложение закрывалось при переключении, что заодно будет и выключать звук, а состояние игры хранить и при повторном запуске игры восстанавливать.

Реклама
  • BoostEX
  • 17 августа 2017 г. 16:45

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

  • Результат - 73 баллов
  • Nordman
  • 15 августа 2017 г. 20:40

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

  • Результат - 66 баллов

C++ - Тест 002. Константы

  • Результат - 33 баллов
Последние комментарии
  • EVILEG
  • 17 августа 2017 г. 18:33

Qt/C++ - Урок 069. Шифрование методом XOR

Не обратил внимания на это, Проверял с большим текстом.. По идее не должно.

Qt/C++ - Урок 069. Шифрование методом XOR

Шифрует/дешифрует текст от 8 символов, так и должно быть?

  • EVILEG
  • 15 августа 2017 г. 20:32

Qt/C++ - Урок 048. QThread - работа с потоками с помощью moveToThread

Нууу... тут уже вопрос к самому Qt4.8. Если честно, идей нет, да и копаться в deprecated коде желания тоже нет.

  • t000r
  • 15 августа 2017 г. 19:49

Qt/C++ - Урок 048. QThread - работа с потоками с помощью moveToThread

В qt5.6 всё нормально заработало. С 4.8 - нет

  • EVILEG
  • 15 августа 2017 г. 17:44

Qt/C++ - Урок 050. Логирование событий Qt приложения в текстовый файл

Я полистал информацию в интернетах, вроде как кто-то пытается подружить его с Qt5, но успешных результатов не нашёл. Да и на сайте как-то не заметно информации о том, что конкретно ему нужно, ...

Сейчас обсуждают на форуме

Сборка Qt / C++ проекта под windows и linux

вы имели ввиду это? если да, то как то не работает((( #include <iostream>#include <bitset> // заголовочный файл битовых полей#include <iomanip> // для манип...

  • alex_lip
  • 17 августа 2017 г. 19:11

Я только учусь..(как правильно присвоить значение объекту другого класса)

А что вы думаете про директиву friend ? class A { friend void B::changeValue(); private: int _value;};class B { void changeValue() { a-&...

  • EVILEG
  • 16 августа 2017 г. 13:38

Перевод кодировки строки из windows 1251 в Utf-8

Здесь необходимо использовать QTextCodec. Вещь это очень хитрая в том плане, что объект этого класса необходимо создавать с определённой кодировкой. Поскольку он будет гонять данные от заданной код...

  • EVILEG
  • 15 августа 2017 г. 17:09

Переключение между Qt::WindowMaximized и Qt::WindowNoState при фиксированном размере окна.

Согласен - это велосипед, но это гораздо меньше, чем отключить оформление окна и написать своё оформление )) Например, как здесь .

  • EVILEG
  • 13 августа 2017 г. 13:51

SQLITE speed up

Заполняете в цикле из объекта query? Можете показать тот кусок кода, где выполняете эти манипуляции? Ускорить код разве только некоторым манипуляциями с указателями или ссылками, н...