Просмотр сообщений
|
Страниц: 1 2 [3] 4
|
33
|
Qt / Qt Quick / Re: Должен ли Settings сохранять значения после закрытия приложения?
|
: Декабрь 25, 2016, 12:41
|
вот такой вариант тоже не сохраняет при перезапуске ApplicationWindow { id: windowRoot visible: true width: 600 height: 700 title: qsTr("Hello World")
property int testQ: settings.q
Settings { id: settings property int q }
MouseArea { anchors.fill: parent onClicked: { if (!testQ) testQ = 1 console.log("testQ = " + testQ) testQ++ } }
Component.onDestruction: { settings.q = testQ console.log("q = " + settings.q) }
|
|
|
35
|
Qt / Qt Quick / Должен ли Settings сохранять значения после закрытия приложения?
|
: Декабрь 24, 2016, 20:34
|
Здравствуйте. Как я понял Settings на то и создан, чтобы хранить настройки даже после закрытия и открытия приложения. Но у меня почему то после повторного открытия приложения значения не восстанавливаются. Подскажите пожалуйста как правильно использовать его, чтобы сохраняло? кусок кода: ApplicationWindow { id: windowRoot visible: true width: 600 height: 700 title: qsTr("Hello World")
Settings { id: settings property int q: settings.q ? "11" : "22" }
MouseArea { anchors.fill: parent onClicked: { console.log("q = " + settings.q) settings.q++ } }
|
|
|
36
|
Qt / Qt Quick / Re: Высота слоя через Loader = 0. Как исправить
|
: Декабрь 17, 2016, 17:28
|
Решение: вынести Loader из ректангла: import QtQuick 2.7 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0
ApplicationWindow { visible: true width: 640 height: 480 title: qsTr("Hello World")
Flickable { id: flic anchors.fill: parent contentHeight: wrapper.height ScrollBar.vertical: ScrollBar { } ScrollBar.horizontal: ScrollBar { }
Column { id: wrapper spacing: 20 width: flic.width
Rectangle { width: 300 height: 300 color: "blue" } Rectangle { id: rectB width: 300 height: 300 color: "black" MouseArea { anchors.fill: parent onClicked: console.log(rectLoader.height) } } Loader { id: pageLoader source: "page-1.qml" } Button { id: butB text: "Закрыть" } }
} }
Page1.qml import QtQuick 2.7
Column { id: pageColumn spacing: 30 Text { text: "111" font.pointSize: 20 } Rectangle { width: 100 height: 400 color: "green" } Rectangle { width: 100 height: 400 color: "red" } }
|
|
|
37
|
Qt / Qt Quick / Высота слоя через Loader = 0. Как исправить
|
: Декабрь 16, 2016, 14:42
|
Делаю вставку через Loader страницы qml. Но почему то высота rectLoader (Rectangle ), где лежит Loader равна 0 и следующий объект располагается от объекта который был до Loader-а. Делаю привязку rectLoader к элементу до и после, но всё безуспешно. Наверно типичная ошибка новичка, подскажите пожалуйста как исправить. import QtQuick 2.7 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0
ApplicationWindow { visible: true width: 640 height: 480 title: qsTr("Hello World")
Flickable { id: flic anchors.fill: parent contentWidth: wrapper.width contentHeight: wrapper.height ScrollBar.vertical: ScrollBar { } ScrollBar.horizontal: ScrollBar { }
Column { id: wrapper spacing: 20 // anchors.fill: parent // height: 1200;
Rectangle { width: 300 height: 300 color: "blue" } Rectangle { id: rectB width: 300 height: 300 color: "black" MouseArea { anchors.fill: parent onClicked: console.log(rectLoader.height) } } Rectangle { id: rectLoader anchors.top: rectB.bottom anchors.bottom: butB.top height: pageLoader.height Loader { id: pageLoader source: "Page1.qml" } } Button { id: butB //height: pageItem.height text: "Закрыть" } }
} }
Page1.qml import QtQuick 2.7
Item { id: pageItem height: pageColumn.height Column { id: pageColumn spacing: 30 Text { text: "111" font.pointSize: 20 } Rectangle { width: 100 height: 400 color: "green" } Rectangle { width: 100 height: 400 color: "red" } } }
|
|
|
38
|
Qt / Qt Quick / Re: Как получить id текущего объекта/кнопки
|
: Декабрь 16, 2016, 14:33
|
решил теперь вот так вопрос, через ComboBox ComboBox { id: zadaniye currentIndex: 0 displayText: "Задание: " + currentText model: [ "1","2","3","4","5","6","7","8","9", "10","11","12","13","14","15","16","17","18","19", "20","21","22","23","24","25","26","27","28","29", "30","31","32","33","34","35","36","37","38","39", "40","41","42","43","44","45","46","47","48","49", "50","51","52" ] }
Button { id: p1 text: "Открыть" onClicked: { pageid = zadaniye.currentText console.log("onClicked! pageid = " + pageid ) stack.push(comp2) } }
|
|
|
39
|
Qt / Qt Quick / Re: Как получить id текущего объекта/кнопки
|
: Декабрь 16, 2016, 10:42
|
1) Почему не ListView/GridView с делегатом-кнопкой и модель с настройками для каждой кнопки?
Не подумал, попробую, спасибо. 2) Эти 52 qml файла все разные? может быть это несколько разных с разными настройками? тогда настройки с именем файла поместить также в модель Да, все файлы будут разные.
|
|
|
41
|
Qt / Qt Quick / Re: Как получить id текущего объекта/кнопки
|
: Декабрь 15, 2016, 14:08
|
Спасибо за разъяснения. Ну если коротко, то: имеется StackView. На 1 экране будут расположены 52 кнопки. На 2 экране будет вложен через Loader{} файл соответствующий иду нажатой кнопки, 52 кнопки = 52 файла qml. В ручную создавать не хочу, поэтому хочу получить id нажатой кнопки и по иду вложить файл (source: "page-"+pageid+".qml") Возможно есть и другое решение. Но если ид не получается взять, тогда создать все кнопки в ручную.
|
|
|
42
|
Qt / Qt Quick / Как получить id текущего объекта/кнопки
|
: Декабрь 14, 2016, 19:55
|
Имеется кнопка, необходимо получить id текущей нажатой кнопки. Кнопки будут генерироваться динамически и возможности прописать id нет. Как вариант this.id - но он не работает, может кто знает? property string pageid .... Button { id: p1 text: "Push 1" onClicked: { pageid = String(this.id) // не работает!! как получить? console.log(pageid) } }
|
|
|
45
|
Qt / Установка, сборка, отладка, тестирование / Не запускается тестовое приложение на эмуляторе
|
: Ноябрь 28, 2016, 19:11
|
Здравствуйте. Qt Creator 4.1.0 Создал пустое приложение Qt Widget, добавил кнопку и лейбел. Сборка и запуск под windows в подрядке. Сборка и запуск под Windows Runtime тоже в порядке. Но под Android на эмуляторе не хочет запускаться. Всё делал и настраивал по инструкциям. На эмуляторе:Сборка успешно, запускается эмулятор, появляется экран блокировки и всё, приложение не запускается. Даже если я разблокирую экран. пробовал под Android 4.1.2, 5.1, 7.1, где то даже не загружается экран блокировки, постоянная загрузка с надписью "ANDROID". Лог сборки под Android 4.1.2 armeabi-v7a https://fnpaste.com/a8PbОшибка в логе: Ошибка при сборке/установке проекта BiblicalExercises (комплект: Android для armeabi-v7a (GCC 4.9, Qt 5.7.0) ) Во время выполнения этапа «Установка на устройство Android» 1 раз видел сообщение на английском, что выполняется запуск приложения, но после сообщение пропало, ничего не появилось. Сборка и запуск под реальный смартфон в порядке. Подскажите пожалуйста, что можно сделать, чтобы на эмуляторе запустилось?
|
|
|
|
|