Интерактивная лицевая панель

Простейшие вопросы в области инженерной разработки
Ответить
mrBelyash
interested
interested
Сообщения: 4
Зарегистрирован: 14 фев 2024, 20:12
Версия LabVIEW: 2021
Благодарил (а): 5 раз
Контактная информация:

Интерактивная лицевая панель

Сообщение mrBelyash »

Добрый день!
Подскажите, пожалуйста, можно ли сделать (желательно по-простому) такую лицевую панель (см. скриншот 2) с непрерывным выполнением?
Я предполагаю, что мне нужен блок "Tab control", но я не нашел как можно его сделать интерактивным, чтобы его вкладки стали частью программы (см. скриншот 1).

Есть альтернативная идея: надобавлять таб контролов, а в них закинуть массивы с файлами и через них уже открывать файлы lvm
Надеюсь понятно объяснил
Вложения
Screenshot_1.png
Верхний уровень ВИ.png
Artem.spb

Activity Автор
professor
professor
Сообщения: 3639
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 61 раз
Поблагодарили: 200 раз
Контактная информация:

Re: Интерактивная лицевая панель

Сообщение Artem.spb »

mrBelyash писал(а): 31 янв 2026, 00:39 Есть альтернативная идея: надобавлять таб контролов, а в них закинуть массивы с файлами и через них уже открывать файлы lvm
Надеюсь понятно объяснил
Я не понял, зачем вам тут вообще табы?
слева массив,как в примере, можно больше информации в таблице, например, представить.
График без табов опять же строится.

Тут вообще нет никаких сложностей: массив, события, обновление графика.
ui.PNG
mrBelyash
interested
interested
Сообщения: 4
Зарегистрирован: 14 фев 2024, 20:12
Версия LabVIEW: 2021
Благодарил (а): 5 раз
Контактная информация:

Re: Интерактивная лицевая панель

Сообщение mrBelyash »

Artem.spb писал(а): 31 янв 2026, 05:32 Я не понял, зачем вам тут вообще табы?
Табы мне нужны, чтобы распределить по группам графики. У меня следующая структура:

Графики
-> Обрезанный
   --> Усредненный
         ---> с дефектом
         ---> нормальный
--> Суммированный
         ---> с дефектом
         ---> нормальный
-> Оригинальный
   --> Усредненный
         ---> с дефектом
         ---> нормальный
   --> Суммированный
         ---> с дефектом
         ---> нормальный

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

Я пока не понял как можно Вашу реализацию применить на мою
Вложения
Screenshot_2.png
Обработка графиков.vi
(237.46 КБ) 5 скачиваний
Artem.spb

Activity Автор
professor
professor
Сообщения: 3639
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 61 раз
Поблагодарили: 200 раз
Контактная информация:

Re: Интерактивная лицевая панель

Сообщение Artem.spb »

mrBelyash писал(а): 31 янв 2026, 10:43 И я хотел при переходе по вкладкам, чтобы открывалась конкретная папка, а после чего собирать инфу о файлах внутри папки и выбирать нужный файл.
Если вы собираетесь после каждого действия пользователя перечитывать всю нужную информацию с диска, то снова не понятно, зачем табы.
Переключатель, списки выпадающее и всё прочее.
см radio buttons, ring, enum

Все действия пользователя ловятся событиями (event structure).

Табы с множеством графиков имеют смысл, если все графики одновременно нарисованы и живут в памяти для быстрого переключения между ними.
mrBelyash
interested
interested
Сообщения: 4
Зарегистрирован: 14 фев 2024, 20:12
Версия LabVIEW: 2021
Благодарил (а): 5 раз
Контактная информация:

Re: Интерактивная лицевая панель

Сообщение mrBelyash »

Artem.spb писал(а): 31 янв 2026, 16:36 см radio buttons, ring, enum
Все действия пользователя ловятся событиями (event structure).
Я прошу прощения за выражения, но Вы Гений лабвью, получилось очень даже неплохо. Но теперь у меня возникла другая проблема, у меня рядом с массивом файлов стоит массив с их нумерацией в этом массиве, но сделано это, как я понимаю, по-колхозному:
Нумерацию я формирую через цикл for с прибавлением 1, чтобы вид был "человеческий".А чтобы массив-нумерация двигался вместе с массивом-файлов, я через property-ноды выискиваю на какой позиции в данный момент курсор в массиве-файлов и потом записываю это значение в property-ноду массива-нумерации. Делаю я это из-за того, что файлов может много и в текущем виде массива по всем я пройтись не смогу.
Но в после добавления событий, почему-то эта часть кода не работает, даже не смотря на то, что это алгоритм находится вне события и в бесконечном while. В старой версии программы это работало (см. скриншоты).

Подскажите, пожалуйста, где я мог ошибиться? И может есть более легкий способ получения индексов?

upd: в принципе я понял почему так происходит: после выполнения события выход сереет (теряются данные) и поэтому часть с property-нодами не выполняется, но что с этим делать я белмес, как у нас говорят
Вложения
Screenshot_1.png
Screenshot_2.png
Screenshot_3.png
Screenshot_4.png
Screenshot_5.png
Screenshot_6.png
Screenshot_7.png
Screenshot_8.png
Artem.spb

Activity Автор
professor
professor
Сообщения: 3639
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 61 раз
Поблагодарили: 200 раз
Контактная информация:

Re: Интерактивная лицевая панель

Сообщение Artem.spb »

mrBelyash писал(а): 04 фев 2026, 20:40 Подскажите, пожалуйста, где я мог ошибиться? И может есть более легкий способ получения индексов?

upd: в принципе я понял почему так происходит: после выполнения события выход сереет (теряются данные) и поэтому часть с property-нодами не выполняется, но что с этим делать я белмес, как у нас говорят
Не знаю, что там за кадром, но события НИЧЕГО не делают, если пользователь ничего не делает. -> пока нет действий, нет обновлений массива.
event1.PNG
Я бы сделал таблицу. Скролить ничего не надо, все само. И при необходимости можно добавить столбцы с информацией.
file1.PNG
file2.PNG
Вложения
fileselector.vi
LV15
(17.47 КБ) 11 скачиваний
Ответить

Вернуться в «Для чайников»