Как в QML изменить текст лэйбла
Добрый день.
Как в QML изменить текст лэйбла?
В файле Page1Form.ui.qml прописан лэйбл
- Label {
- id: page1Label2
- x: 122
- y: 409
- width: 156
- height: 56
- text: qsTr("1 из 20")
- horizontalAlignment: Text.AlignHCenter
- font.pointSize: 20
- }
В файле Page1.qml пытаюсь изменить текст лэйбла:
- page1Button0.onClicked: //left button
- {
- page1Label2.text = "text"
- }
Но это не работает, компилятор говорит что page1Button0 не определен.
2
99
Do you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- МАApril 1, 2025, 4:21 p.m.0ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
a page1Button0 существует? так уж сложилось, что при работе с QML нужно регулярно запускать qmake и пересобирать проект
page1Button0 существует. запуск qmake не помог
без полного кода страниц тяжело сказать, кроме очевидного что компилятор не видит кнопку.
п.с. по моему опыту, мне проще работать без Form, просто Page.qml, ее и в дизайнере можно открыть и так все необходимое на одной странице. как-то с формами не подружился
Компилятор видит кнопку, но не видит лэйбел
Вот код Page1Form.ui.qml
вызвать пытаюсь в Page1.qml
добавил в форму
property alias page1Label2: page1Label2
и все заработало. ну или обработку клик делать на форме, тоже работать будет
а вот если бы было все в одном файле, то можно обойтись без алиасов
Странно, но у меня все еще не работае.
Покажите пожалуйста ваш вариант.
Сделал так:
Сделал так, заработало. Спасибо!
работать будет как так
так и так
и вот так тоже(без Form.ui)
Забыл код вставить.
При той задаче вот так заработало:
Но при попытке сделать тоже действие из Page0.qml получаю старую ошибку.
Скажите пожалуйста, почему опять не видно этот лэйбел?
Забыл код вставить.
При той задаче вот так заработало:
Но при попытке сделать тоже действие из Page0.qml получаю старую ошибку.
Скажите пожалуйста, почему опять не видно этот лэйбел?
Попробовал так:
компилируется, но при переходе на страничку всегда появляется базовое значение
это похоже тоже странная магическая часть QML
еще работает такой вариант page.lable.text="some text" (page - это страница где нужный лейбл, при обрщении с одной страницы на другую, но при этом они должны быть все загружены и активны(например если в одном окне показывает сразу несколько страниц))
п.с. скорее всего при смене страницы через лоадер, старая страница становится недоступной. поэтому ее и не видно.
но оно еще все обнуляет при смене через лодер. никак не пойму, пока, как с этим обнулением бороться
и еще беда, в form.ui.qml почему то нельзя брать информацию из класса из с++ слоя.
как вариант, можно загружать несколько страниц одним пакетом, напремер через TabView, где каждый Tab нужная страница из одной группы, и через алиасы передавть значения(тогда может отпасть необходимость в лоадере). или можно передавть нужные значения в слой С++, и при загрузке новой страницы в лоадере брать данные из этого слоя
поэтому мне проще без форм
хорошо придумано.