Доброго времени суток,
такой вопрос.
В других языках программирования (например visual basic, delphi, python …) есть такая возможность или если можно это так назвать такой стиль программирования:
1. Создать одно окно.
2. Разместить на/в окне одну или несколько кнопок (пиктограмм) с самыми различными функциями.
3. Создать такое же второе окно, третье и т.д.
4. ВАЖНО! Эти окна полностью независимы друг от друга. Для одного окна, например номер 2 не важно, какие кнопки и функции расположены в окне номер 5 (или любом другом окне).
5. Можно работать только с одним окном, используя команды открыть окно с таким-то названием или номером „open window“ и закрыть окно «close window».
6. ВАЖНО!!! При этом, если нужно, то в оперативной памяти будет работать только процесс одного окна, которое открыто „open window“, а все остальные окна «close window» не будут занимать оперативную память.
Я не нашел такой возможности в LabVIEW. Точнее сам принцип можно реализовать с помощью работы с вкладками „Tabs“ (см. рисунок ниже - в приложении). Но по требованию должен быть другой дизайн. Это должно выглядеть не как закладки в одном окне, а как независимые окна.
Или же может можно, как-то переключить вкладки „Tabs“ на рисунке, чтобы они выглядели не как одно окно со множеством вкладок, а как несколько отдельных окон (число отдельных окон должно соответствовать числу вкладок)? Как-то может можно разделить вкладки на отдельные окна?
Как организовать в LabVIEW работу со многими окнами?
-
- interested
- Сообщения: 2
- Зарегистрирован: 17 мар 2022, 19:24
- Версия LabVIEW: 2021
- Благодарил (а): 3 раза
- Контактная информация:
Как организовать в LabVIEW работу со многими окнами?
- Вложения
-
- Example_Tabs.jpg (14.56 КБ) 1390 просмотров
-
- professor
- Сообщения: 3410
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Как организовать в LabVIEW работу со многими окнами?
Если коротко, вам нужно разобраться с методами взаимодействия потоков: очереди, нотификаторы, и/или события.
А если не коротко...
В настройках функций можете найти настройки отображения 1) по дефолту - все окна равны, любое может перекрыть все остальные, если сделать его активным
2) плавающее. Всегда остаётся поверх других окон, но не мешает работать в них
3) модальное. оно же диалоговое. Всегда висит поверх и не даёт перейти в другое окно, пока его не закроют.
Соответственно, разбираетесь с многопоточностью (см стр1). Дальше делаете много VI (по количеству окон) с нужными настройками.
В общей программе (где кнопки открытия) пишете обработки нажатия - отправить в соответствующее окно команду открыться/закрыться.
В самих окнах по командам вызываете метод открыть/закрыть. Подробнее про них читайте в справке
А если не коротко...
Если попридираться, то тут явное противоречие. Окно такое же, но не такое же...
Вкладки тут вообще ни при чём, а возможность работы с многими окнами заложена в сути - виртуальные инструменты. Каждая функция может быть отдельным окном.Я не нашел такой возможности в LabVIEW. Точнее сам принцип можно реализовать с помощью работы с вкладками „Tabs“ (см. рисунок ниже - в приложении). Но по требованию должен быть другой дизайн. Это должно выглядеть не как закладки в одном окне, а как независимые окна.
В настройках функций можете найти настройки отображения 1) по дефолту - все окна равны, любое может перекрыть все остальные, если сделать его активным
2) плавающее. Всегда остаётся поверх других окон, но не мешает работать в них
3) модальное. оно же диалоговое. Всегда висит поверх и не даёт перейти в другое окно, пока его не закроют.
Соответственно, разбираетесь с многопоточностью (см стр1). Дальше делаете много VI (по количеству окон) с нужными настройками.
В общей программе (где кнопки открытия) пишете обработки нажатия - отправить в соответствующее окно команду открыться/закрыться.
В самих окнах по командам вызываете метод открыть/закрыть. Подробнее про них читайте в справке
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Как организовать в LabVIEW работу со многими окнами?
Также можно использовать свойство "Open Front panel when called", тогда при вызове функции ее передняя панель появится на экране. Притом, что несвязанные входами и выходами отдельные VI запускаются в отдельном потоке независимо от других, простор для фантизий огромен. А оформленные как Reentrant, можно запускать несколько экземпляров VI со своим набором входных данных. Учите матчасть, в Labview есть практически все, если поискать.
-
- professor
- Сообщения: 3410
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Как организовать в LabVIEW работу со многими окнами?
Верное замечание, но не стал писать про него, потому что в вопросе значилась необходимость открывать/закрывать командами (кнопками).
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 2076 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 347 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2437 Просмотры
-
Последнее сообщение dadreamer
-
- 2 Ответы
- 391 Просмотры
-
Последнее сообщение ujin1
-
- 5 Ответы
- 848 Просмотры
-
Последнее сообщение dadreamer