![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
MishaUA |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
Было работающие приложение на Qt5, работающее под виндой и андроидом, все было норм, но заказчику сильно захотелось красивую форму, соответственно, теперь нужно переделать отображение на QML.
Итак, что делает програмка: Есть QTabWidget и QPushButton. Но нажатию QPushButton создается новая вкладка на QTabWidget и заполняется остальными виджетами: QcheckBox, QSpinEdit, QDoubleSpinEdit, QPushButton, QgroupBox и т.д. Собственно, это мне надо переделать на QML. Сутки изучая материалы с инета, я решил использовать Qt Quick 2.0. Стоит отметить, что со скриптовыми языками практически не знаком, последний раз использовал JavaScripts несколько лет назад, но поизучав доки Qt Quick немного въехал в курс дела. Вопросы: 1. Нужно ли все контролы (типа QTabWidget, QDoubleSpinEdit и т.д.) создавать вручную? Где то читал, что в Qt Quick 2.0 есть что то подобное готовым виджетам, в которых можно руками изменить что угодно. 2. Можно ли в разных QML файлах делать одинаковым id компонента? Это только 2 вопроса, остальные появляться чуть позже))) |
|
|
![]() |
MishaUA |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
И еще вопрос:
Можно ли сигнал, который в qml файле коннектить к слоту из cpp файла? Только connect нужно сделать в самом cpp файле |
|
|
Trisch |
![]()
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
И еще вопрос: Можно ли сигнал, который в qml файле коннектить к слоту из cpp файла? Только connect нужно сделать в самом cpp файле Да, можно. Это делается примерно так:
да, в этом и была проблема. Обновил драйверы видеокарты и заработало))) Следующая проблема с использованием QtQuick.Controls. Есть такой код:
Как видите, тупо красный прямоугольник. На компе запускается правильно, на андроиде тоже. Если добавляю кнопку из QtQuick.Controls :
То на ПК она отображается, а на андроиде просто белый прямоугольник. Стоит учесть, что qml файл находится в ресурсах. Если на пк копирую exe в другую папку, то кнопка отображается, значит, exe не зависит от остальных файлов, которые в папке с проектом. В чем тогда проблема? ну тут ты мог указать полный путь к QML файлу, тогда на компе оно будет работать из любого места. если файл QML берется из ресурсов, то это делается примерно так
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 28.5.2025, 3:00 |