BlinCT
BlinCT13 августа 2019 г. 11:01

Смена значения переменно в QML

Всем привет.
Пытаюсь в qml сделать поулчение булевого значения из крестовой части.
То есть проверяю, и в ректангле просто выписываю значение и меняю его. Потмо снова нажимаю, и снвоа меняю.
Но чет не то делаю.

1
qml: setNewValue:  undefined
0

Может кто подскажет где я ошибку допускаю.

Window
{
    id: mainRoot

    property string value: textWorkerB_1.text

    Rectangle
    {
        id: rectangleWorkerB_1

        Text { id: textWorkerB_1; text: qsTr(""); anchors.centerIn: parent; font.capitalization: Font.AllLowercase }
    }
    Rectangle
    {
        id: rectangleWorkerB_2

        MouseArea
        {
            anchors.fill: parent;
            onClicked: {
                 textWorkerB_1.text = workerA.getboolValue = false ? mainRoot.value = "false" : mainRoot.value = "true";
                workerA.getboolValue = true ? workerA.setboolValue(false) : workerA.setboolValue(true)
            }
        }
    }
}

Ну а в крестовом коде там просто гет и сет на данную переменную.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

4
Evgenii Legotckoi
  • 13 августа 2019 г. 11:11
  • Ответ был помечен как решение.

Привет.

Вот это вообще работает?

textWorkerB_1.text = workerA.getboolValue = false ? mainRoot.value = "false" : mainRoot.value = "true";

По-моему здесь чушь написана.

Не вижу места, где вызывается метод setNewValue, полагаю, что он является сеттером, но к чему он относится не ясно, он вообще существует в C++ части?

    Pavel K.
    • 14 августа 2019 г. 2:29
    • (ред.)

    почему бы вам просто не добавить плейс холдер в который будет приходить значени?

    import YourClass 1.0
    
    YourClassModel{
        id:classModel
    }
        ViewPlaceholder {
            id: viewHolder
            anchors.verticalCenter: content.verticalCenter
            enabled: true
            text: classModel.boolValue
        }
    
    main() {
     qmlRegisterType<YourClass>("YourClass", 1, 0, "YourClassModel");
     }
    
    YourClaas.h
    
    YourClass : public Object {
    Q_Object
    Q_Property(bool boolValue,READ boolValue WRITE setboolValue NOTIFY boolValueChanged)
    
    Public:
        constructor()
    
        getter() и setter() ;
    
    signals:
       void boolValueChanged();
    private:
       bool m_boolValue;
    }
    
    
    

    и посмотрите кое- что тут

      Pavel K.
      • 14 августа 2019 г. 2:31

      будет текстом не тру фалс , а 1 или 0

        BlinCT
        • 14 августа 2019 г. 2:33

        Ошибка найдена) недосмотрел.

          Комментарии

          Только авторизованные пользователи могут публиковать комментарии.
          Пожалуйста, авторизуйтесь или зарегистрируйтесь
          d
          • dsfs
          • 26 апреля 2024 г. 4:56

          C++ - Тест 004. Указатели, Массивы и Циклы

          • Результат:80баллов,
          • Очки рейтинга4
          d
          • dsfs
          • 26 апреля 2024 г. 4:45

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

          • Результат:50баллов,
          • Очки рейтинга-4
          d
          • dsfs
          • 26 апреля 2024 г. 4:35

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

          • Результат:73баллов,
          • Очки рейтинга1
          Последние комментарии
          k
          kmssr8 февраля 2024 г. 18:43
          Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
          АК
          Анатолий Кононенко5 февраля 2024 г. 1:50
          Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
          EVA
          EVA25 декабря 2023 г. 10:30
          Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
          J
          JonnyJo25 декабря 2023 г. 8:38
          Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
          G
          Gvozdik18 декабря 2023 г. 21:01
          Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
          Сейчас обсуждают на форуме
          IscanderChe
          IscanderChe30 апреля 2024 г. 4:22
          Во Flask рендер шаблона не передаётся в браузер Доброе утро! Имеется вот такой шаблон: <!doctype html><html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="{{ url_…
          G
          Gar22 апреля 2024 г. 5:46
          Clipboard Как скопировать окно целиком в clipb?
          DA
          Dr Gangil Academics20 апреля 2024 г. 7:45
          Unlock Your Aesthetic Potential: Explore MSC in Facial Aesthetics and Cosmetology in India Embark on a transformative journey with an msc in facial aesthetics and cosmetology in india . Delve into the intricate world of beauty and rejuvenation, guided by expert faculty and …
          a
          a_vlasov14 апреля 2024 г. 6:41
          Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
          Павел Дорофеев
          Павел Дорофеев14 апреля 2024 г. 2:35
          QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь

          Следите за нами в социальных сетях