Просмотр сообщений
|
Страниц: 1 2 [3] 4 5 ... 38
|
31
|
Qt / Qt Quick / Re: QML - последовательность вызовов onAccepted(), onRejected(), onClose().
|
: Октябрь 24, 2022, 08:01
|
Сделать две кнопки [OK] и [Cancel] плюс в уголку кнопка закрытия [X] кнопка [MyX].
диалогу обработчики: Код:
onAccepted() { ... Действие 1 ... } onRejected() { ... Действие 2 ... } onMyX() { ... Действие 3 ... }
Т.е. образом в onClose() вообще ни нужно ни чего анализировать. Вызываете Действие 3, делаете нужный код и в конце вызываете onClose() принудительное закрытие окна. Так получиться?
|
|
|
32
|
Qt / Qt Quick / Динамические кнопки в QML
|
: Сентябрь 30, 2022, 09:58
|
Подскажите, как такое реализовать?
допустим есть кнопка "+". Нажимаешь - появляется рядом кнопка с текстом (пусть будет "1"). Нужно запомнить эту кнопку. Как запомнить - отдельная тема. При повторном запуске должно быть две кнопки: "+" и "1". Добавили ещё 3 кнопки с текстом "2", "3" и "4". Закрыли приложение, открыли - на экране должно быть пять кнопок: "+", "1", "2", "3", "4". Т.е. при запуске приложения как то нужно считать какой-то конфиг/сеттинг и нарисовать создать столько кнопок, сколько нужно и с текстом с которым нужно.
Может есть пример для Qml динамического создания кнопок?
|
|
|
33
|
Qt / Qt Quick / Re: Виджет настройки
|
: Апрель 01, 2022, 14:23
|
к сожелению нет фотошопа.... про QScrollArea....
т.е. делаю прямоугольник, заполняю его беру QScrollArea. у QScrollArea убираю видимые скролбары... потом рисую картинку шкалы (допустим в png), размещяю эту картинку в QScrollArea и.... зациклить QScrollArea? а у QScrollArea можно зациклить сдвиг?
ps а теперь бы всё тоже самое, только на QML.
|
|
|
34
|
Qt / Qt Quick / Re: Виджет настройки
|
: Апрель 01, 2022, 14:03
|
А зачем виджет и QML? (цыганщиной отдает). goto wikipediaЭлеме́нт интерфе́йса — примитив графического интерфейса пользователя. Другие названия: элемент управления, ви́джет (англ. widget). Свой кастомный виджет (или элемент управления) можно реализовать с помощью каких то базовых виджетов или с нуля Qt, QML, GrLib, LVGL,.... Это стандартная операция pan(orama) что за операция?
|
|
|
35
|
Qt / Qt Quick / Виджет настройки
|
: Апрель 01, 2022, 11:59
|
Всем доброго дня.
В прикреплении картинка виджета, который я бы хотел реализовать на QML. Это колесо настройки (вертикальное или горизонтальное).... Суть: в центр виджета палец(мышку) ставишь и тянешь вправо-влево... вся линейка со шкалой начинает двигаться вместе с пальцем (наподобе слайдера). У виджета должно быть свойство currentValue, step1 и step2, инерция. step1 - это минимальное значение на которое изменится currentValue, а step2 - это минимальное расстояние, на которое надо протянуть виджет, чтобы изменился currentValue. Т.е. если step1 = 100, а step2 = 50 (пикселе/мм/inch/pt/попугев), то если протянуть виджет на 150 пикселей, то currentValue изменится на 300.
Ну и если по виджету чиркнуть, то прокрутка должна быть инертная и по инерции промотать какое-то кол-во до остановки. Вобщем аналог механического инертного колеса настройки.
Как подобное реализовать? Может есть похожий пример где в гугле? Даже не знаю как сформулировать поиск, чтоб похожее найти. Или может кто подкинет мыслеформу, как подобное реализовать в QML?
|
|
|
36
|
Qt / Qt Quick / VirtualKeyboard
|
: Февраль 17, 2022, 15:15
|
Сделал на QML приложение с QtQuick.VirtualKeyboard. На десктопе работает.... приемлемо.... Собрал это приложение для железки на базе imx6. Работает. eglfs справляется с графикой на ура. Всякие тени, полупрозрачности, визуальные эффекты.... всё отлично.... НО! Вызываю виртуальную клавиатуру.... при первой вызове пауза примерно секунда... при последующем вызове без пауз. Нажимаю кнопку "смена языка" - пауза 3-4 секунды. Клавиатура кастомизированая с помощью QtQuick.VirtualKeyboard.Styles 2.15. Каждая кнопка с подсветкой, с тенью, выглядит как 3Д. Красивая. Но при переключении с рус на англ и обратно переключение происходит очень долго, несколько секунд. Такое чувство, что при смене языка QML заново строит клавиатуру из кастомного стиля. Заново создает каждую кнопку со всеми тенями. На декстопе тоже переключение с задержкой, но на десктопе задержка меньше 1 сек и это не так критично.
Можно как нибудь указать Qt/QML-ю, чтобы он при старте, в фоне, строил две раскладки и держал их в ОЗУ, а при смене, просто менял Item-ы? (или есть способ ускорить переключение клавы?)
ps можно самому с нуля написать свою клавиатуру на QML с требуемым функционалом, но возможно есть готовое решение и "ларчик открывается просто"?
|
|
|
37
|
Программирование / Общий / Re: Программа для видеорегистратора
|
: Февраль 08, 2022, 12:51
|
ты не в состоянии сверстать простую страницу? нет. даже браться за это не хочу. перебираются циклом в скрипте. в каком скрипте? что такое скрипт? нужно скрипт писать? т.е. нужно своё ПО писать? веб-сервер поднимается один раз как демон ещё и вебсервер поднимать!? VLC может писать в файлы я посмотрел на него документацию. да, он может писать файлы. и что? он может ещё много чего. Он не сможет записать файлы и показать их мне через веб. Как он решит мою задачу? Ни как. Вы предлагаете набор инструментов. эти ваши html, скрипты, вебсервера - для меня это дичь. мне проще на qt/qml написать свой видеорегистратор (используя ту же ffmpeg). Но я этого не хочу делать (да и не когда), я спросил - есть ли что готовое? Вообще о чем спор?
|
|
|
38
|
Программирование / Общий / Re: Программа для видеорегистратора
|
: Февраль 08, 2022, 10:23
|
было требование писать видео с камеры и смотреть записанное через браузер — это решается без всякого специализированного ПО.
Каким образом? пусть будет без детектора движения и всяких примочек.... нужно писать видео.... видео нельзя писать одним файлом. Нужно допустим по 2 минуты... или по 1 часу. Каким образом с помощью ffmpeg писать видео в файлы по 2 минуты? Далее.... нужно через веб смотреть видео. Как ffmpeg это организует? командой cli вы поднимете вебсервер и ffmpeg имеет готовую html вебстраничку с плеером? ты очень удачно пропустил информацию о VLC да, а его пропустил, потому как это плеер. как он мне поможет? как им можно писать видео в файлы и потом смотреть через браузер?
|
|
|
39
|
Программирование / Общий / Re: Программа для видеорегистратора
|
: Февраль 08, 2022, 07:00
|
Вы не сможете с помощью этого cli команды в cli (cli от ffmpeg) развернуть видеорегистратор, с просмотром архива, с web доступом, с настройкой записи,с настройкой детектора движения, с оповещением, и т.п. Но вы сможете написать своё ПО для этих целей, в котором можете использовать ffmpeg. ffmpeg (с тем же cli) можно использовать как основу для своего ПО. Но я не пишу программу, я ищу готовую.
ps. goto wiki ffmpeg "FFmpeg — набор свободных библиотек...", "Тип мультимедийный фреймворк"
goto wiki фреймворк "Фре́ймворк - программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта."
|
|
|
42
|
Программирование / Общий / Программа для видеорегистратора
|
: Февраль 07, 2022, 10:45
|
Хочу сделать дома регистратор. Бегло погуглил - есть куча бесплатного ПО, но оно требует десктоп (монитор, клавиатура, иксов... да ещё некоторым подавай Windows10). Я бы хотел к какой-нибудь малине (без клавиатуры и монитора) прикрутить ssd и пару ip камер и смотреть видосы/конфигурировать с любого пк/смартфона через web.
Может кто-нибудь подсказать готовое ПО?
|
|
|
43
|
Qt / Qt Embedded / Re: Could not load the Qt platform plugin "eglfs"
|
: Декабрь 21, 2021, 08:09
|
добавил все либы/плуги.... получаю такой вывод при запуске приложения QFactoryLoader::QFactoryLoader() checking directory path "/home/root/work/testQml/egldeviceintegrations" ... loaded library "/home/root/work/testQml/plugins/egldeviceintegrations/libqeglfs-emu-integration.so" EGL library doesn't support Emulator extensions ./start: line 6: 2405 Aborted ./testQml Ну хорошо.... ещё раз запускаю c0nfigure на хосте, которым собирал Qt ./configure -confirm-license -v -release \ -prefix ~/tools/imx6/qt5_15_J \ -nomake examples -opensource \ -no-pch -opengl es2 -egl -eglfs \ -device imx6-g++ -no-harfbuzz -no-gstreamer \ -device-option CROSS_COMPILE=~/toolchainChine/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- \ -sysroot ~/toolchainChine/sysroots/cortexa9hf-neon-poky-linux-gnueabi получаю это Qt Gui: ... EGL .................................... yes OpenVG ................................. no OpenGL: Desktop OpenGL ....................... no OpenGL ES 2.0 ........................ yes OpenGL ES 3.0 ........................ yes OpenGL ES 3.1 ........................ no OpenGL ES 3.2 ........................ no Vulkan ................................. no Session Management ..................... yes QPA backends: DirectFB ............................... no EGLFS .................................. yes EGLFS details: EGLFS OpenWFD ........................ no EGLFS i.Mx6 .......................... no EGLFS i.Mx6 Wayland .................. no EGLFS RCAR ........................... no EGLFS EGLDevice ...................... no EGLFS GBM ............................ no EGLFS VSP2 ........................... no EGLFS Mali ........................... no EGLFS Raspberry Pi ................... no EGLFS X11 ............................ no LinuxFB ................................ yes VNC .................................... yes XCB: Using system-provided xcb-xinput ..... no Native painting (experimental) ....... no GL integrations: GLX Plugin ......................... no EGL-X11 Plugin ..................... no Вроде EGLFS yes, но моя платформа imx6, почему-то для неё EGLFS i.Mx6 no. От куда берётся QPA backends? Из sysroot? ps Приложения на виджетах кросскомпилированное с новым Qt5.15 запускаются на таргете нормально, а QML-ые приложения не хотят.
|
|
|
44
|
Qt / Qt Embedded / Re: Could not load the Qt platform plugin "eglfs"
|
: Декабрь 20, 2021, 15:27
|
Могу дать совет - собирать BSP через Yocto. Иначе - все тлен. ))
слишком высокий порог вхождения в Yocto. Попробовал buildroot, но готового конфига под мой таргет нет. Собрал своё ядро/дерево/рутфс - частично работает. Надо ядро патчить.... драйвера править.... есть уже собранная пропатченая рабочая сборка линукса с кросстулчейном.... пробую к ней Qt свежий прикрутить.
|
|
|
45
|
Qt / Qt Embedded / Re: Could not load the Qt platform plugin "eglfs"
|
: Декабрь 20, 2021, 10:36
|
вот ещё.... убрал лишние плагины, добавил export QT_DEBUG_PLUGINS=1, получил... root@imx6qsabresd:~/work/testQml# ./testQml QFactoryLoader::QFactoryLoader() checking directory path "/home/root/work/testQml/plugins/platforms" ... QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/plugins/platforms/libqeglfs.so" Found metadata in lib /home/root/work/testQml/plugins/platforms/libqeglfs.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "eglfs" ] }, "archreq": 0, "className": "QEglFSIntegrationPlugin", "debug": false, "version": 331520 }
Got keys from plugin meta data ("eglfs") QFactoryLoader::QFactoryLoader() checking directory path "/home/root/work/testQml/plugins" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/root/work/testQml" ... QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Core.la" QElfParser: '/home/root/work/testQml/libQt5Core.la' is not an ELF object "'/home/root/work/testQml/libQt5Core.la' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Core.prl" QElfParser: '/home/root/work/testQml/libQt5Core.prl' is not an ELF object "'/home/root/work/testQml/libQt5Core.prl' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Core.so" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Core.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Core.so.5" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Core.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Core.so.5.15" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Core.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Core.so.5.15.2" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Core.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Gui.la" QElfParser: '/home/root/work/testQml/libQt5Gui.la' is not an ELF object "'/home/root/work/testQml/libQt5Gui.la' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Gui.prl" QElfParser: '/home/root/work/testQml/libQt5Gui.prl' is not an ELF object "'/home/root/work/testQml/libQt5Gui.prl' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Gui.so" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Gui.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Gui.so.5" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Gui.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Gui.so.5.15" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Gui.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Gui.so.5.15.2" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Gui.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Network.la" QElfParser: '/home/root/work/testQml/libQt5Network.la' is not an ELF object "'/home/root/work/testQml/libQt5Network.la' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Network.prl" QElfParser: '/home/root/work/testQml/libQt5Network.prl' is not an ELF object "'/home/root/work/testQml/libQt5Network.prl' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Network.so" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Network.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Network.so.5" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Network.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Network.so.5.15" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Network.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Network.so.5.15.2" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Network.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Qml.la" QElfParser: '/home/root/work/testQml/libQt5Qml.la' is not an ELF object "'/home/root/work/testQml/libQt5Qml.la' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Qml.prl" QElfParser: '/home/root/work/testQml/libQt5Qml.prl' is not an ELF object "'/home/root/work/testQml/libQt5Qml.prl' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Qml.so" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Qml.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Qml.so.5" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Qml.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Qml.so.5.15" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Qml.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Qml.so.5.15.2" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Qml.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5QmlModels.la" QElfParser: '/home/root/work/testQml/libQt5QmlModels.la' is not an ELF object "'/home/root/work/testQml/libQt5QmlModels.la' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5QmlModels.prl" QElfParser: '/home/root/work/testQml/libQt5QmlModels.prl' is not an ELF object "'/home/root/work/testQml/libQt5QmlModels.prl' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5QmlModels.so" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5QmlModels.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5QmlModels.so.5" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5QmlModels.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5QmlModels.so.5.15" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5QmlModels.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5QmlModels.so.5.15.2" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5QmlModels.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Quick.la" QElfParser: '/home/root/work/testQml/libQt5Quick.la' is not an ELF object "'/home/root/work/testQml/libQt5Quick.la' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Quick.prl" QElfParser: '/home/root/work/testQml/libQt5Quick.prl' is not an ELF object "'/home/root/work/testQml/libQt5Quick.prl' is not an ELF object" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Quick.so" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Quick.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Quick.so.5" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Quick.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Quick.so.5.15" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Quick.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/libQt5Quick.so.5.15.2" "Failed to extract plugin meta data from '/home/root/work/testQml/libQt5Quick.so.5.15.2'" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/testQml" "Failed to extract plugin meta data from '/home/root/work/testQml/testQml'" not a plugin QFactoryLoader::QFactoryLoader() checking directory path "/home/root/work/testQml/plugins/platforms/platforms" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/root/work/testQml/plugins/platforms" ... QFactoryLoader::QFactoryLoader() looking at "/home/root/work/testQml/plugins/platforms/libqeglfs.so" Got keys from plugin meta data ("eglfs") QFactoryLoader::QFactoryLoader() checking directory path "/home/root/work/testQml/platforms" ... Cannot load library /home/root/work/testQml/plugins/platforms/libqeglfs.so: (libQt5EglFSDeviceIntegration.so.5: cannot open shared object file: No such file or directory) QLibraryPrivate::loadPlugin failed on "/home/root/work/testQml/plugins/platforms/libqeglfs.so" : "Cannot load library /home/root/work/testQml/plugins/platforms/libqeglfs.so: (libQt5EglFSDeviceIntegration.so.5: cannot open shared object file: No such file or directory)" qt.qpa.plugin: Could not load the Qt platform plugin "eglfs" in "/home/root/work/testQml/plugins/platforms" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs (from /home/root/work/testQml/plugins/platforms), eglfs.
Aborted Не могу понять что пошло не так и как это исправить?
|
|
|
|
|