alex_lip
alex_lip28 февраля 2018 г. 13:52

Как проверить существование объекта с определенным id ?

Вызываю один справочник из разных кнопок на разных формах. Справочник устанавливает значение Text объекта Text.  Хотелось бы в самом справочнике устанавливать значение Text того text_id, который в данный момент существует на форме.  То есть если есть id= t1 - устанавливаем его , если t1 нет, а есть t2 - устанавливаем его. Можно это сделать? Или обязательно использовать переменные через слой C++ ?

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

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

8
Evgenii Legotckoi
  • 28 февраля 2018 г. 14:51

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

Можете привести пример, как работаете с этим?
    alex_lip
    • 28 февраля 2018 г. 15:48

    При выборе элемента справочника работает вот эта процедура. У меня в одном месте txt_ispol, а в другом txt_rez. Ну и хочется проверить ЧТО существует в данный момент и туда вставить текущее значение из справочника.

     onDoubleClicked: {
                      txt_ispol.insert(txt_ispol.cursorPosition,menu_row_name)  ;
    
    }
      Evgenii Legotckoi
      • 28 февраля 2018 г. 15:53

      А что из себя представляет txt_ispol? это некий массив?
      Если массив, то стоит пройтись по нему через цикл for

      for (var i = 0; i < txt_ispol.count; ++i)
      {
          if (txt_ispol.get(i) == some_t1)
          {
              // ToDo insert
          }
      }
      Ну или другое условие, которое вам требуется
        alex_lip
        • 28 февраля 2018 г. 16:03
        • (ред.)

        Да нет - это просто TextArea. Я просто вставляю значение в текущее местоположение курсора.

        TextArea {
                            id:txt_ispol
                            font.pixelSize: dp(19); font.bold: true
                                         }
          Evgenii Legotckoi
          • 28 февраля 2018 г. 16:22

          Хорошо, а что из себя справочник представляет?
          Я понял, что у вас есть некоторый id, по которому нужно выдрать из справочника информацию, а потом установить в Text что-то из того справочника.
          Но сам справочник, что за объект, и как в нём хранится информация? Я полагаю, что можно написать функцию в справочнике, которая в цикле проверит, есть ли там id, если есть, то возьмёт нужный, если нет, то первый в списке из тех, которые есть.

            alex_lip
            • 28 февраля 2018 г. 16:38
            • (ред.)
            • Ответ был помечен как решение.

            пытаюсь так сделать - То есть проверяю есть ли объект с кодом

            txt_ispol_nazn или txt_ispol
            и тому кто есть присваиваю значение. Справочник это просто список словосочетаний - "В работу", "К исполнению" и т.д. Ошибок нет но и не работает (( То есть по двойному клику на элемент справочника срабатывает процедура - - и эта процедура должна присвоить значение тому элементу TextArea, который в данный момент существует

            onDoubleClicked: {
                                             if (typeof txt_ispol_nazn !== 'undefined'){
                                                 txt_ispol_nazn.insert(txt_ispol_nazn.cursorPosition,menu_row_name)  ;
                                             }
                                              if (typeof txt_ispol !== 'undefined'){
                                                  txt_ispol.insert(txt_ispol.cursorPosition,menu_row_name)  ;
                                                  }
              alex_lip
              • 28 февраля 2018 г. 16:48
              • (ред.)

              Да вроде и работает . Кстати у меня в FIREFox иконки пометить как ответ и редактирование по прежнему не видны. Жму по типсам и серому квадрату

                Evgenii Legotckoi
                • 1 марта 2018 г. 21:31

                Если в другом браузере будут видны иконки, то нужно почистить кеш в firefox для моего сайта. Возможно, что во время обновления сайта у вас не скачались актуальные стили.

                  Комментарии

                  Только авторизованные пользователи могут публиковать комментарии.
                  Пожалуйста, авторизуйтесь или зарегистрируйтесь
                  Ua

                  Qt - Тест 001. Сигналы и слоты

                  • Результат:84баллов,
                  • Очки рейтинга4
                  Ua

                  Qt - Тест 001. Сигналы и слоты

                  • Результат:42баллов,
                  • Очки рейтинга-8
                  ОК

                  Qt - Тест 001. Сигналы и слоты

                  • Результат:47баллов,
                  • Очки рейтинга-6
                  Последние комментарии
                  ИМ
                  Игорь Максимов22 ноября 2024 г. 21:51
                  Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                  Evgenii Legotckoi
                  Evgenii Legotckoi31 октября 2024 г. 23:37
                  Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                  A
                  ALO1ZE19 октября 2024 г. 17:19
                  Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                  ИМ
                  Игорь Максимов5 октября 2024 г. 16:51
                  Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                  d
                  dblas55 июля 2024 г. 20:02
                  QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                  Сейчас обсуждают на форуме
                  f
                  firstlunoxod15 февраля 2025 г. 13:46
                  Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
                  Дмитрий
                  Дмитрий3 февраля 2025 г. 16:24
                  Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
                  NW
                  Nayo Wai30 января 2025 г. 19:22
                  не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
                  n
                  nkly3 января 2025 г. 12:52
                  Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                  M
                  Marsel17 августа 2023 г. 0:26
                  OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

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