Совместимость между Mac и Windows MATLAB Gui - PullRequest
6 голосов
/ 30 ноября 2010

Я довольно хорошо знаком с MATLAB, хотя не так много, как писать в нем GUI. Теперь мой начальник дал мне программу MATLAB с графическим интерфейсом, которая была разработана на компьютере с Windows и работает там без проблем. Я скопировал его на свой Mac (OSX 10.6.5 с MATLAB R2009b) с помощью карты памяти USB и попытался работать с файлами на моем компьютере.

При запуске графического интерфейса некоторые из обратных вызовов выполняются, некоторые нет. Мне удалось открыть файл рисунка, содержащий GUI, в GUIDE, но там нельзя щелкнуть поля обратного вызова в инспекторе свойств. Также некоторые компоненты не отображаются в GUIDE, которые видны при запуске графического интерфейса. Сначала я подозревал, что он может быть поврежден измененными символами новой строки, но узнал, что файлы .fig являются двоичными, поэтому это не должно иметь место. Я открыл двоичный файл .fig с помощью текстового редактора и нашел следующую строку ASCII, за которой следуют двоичные данные:

MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Tue Aug 10 17:11:57 2010

Являются ли графические интерфейсы, созданные с ОС MATLAB специфичными? Разве это не было бы действительно глупо?

Я снова открыл файлы на машине с Windows и попытался экспортировать или сохранить их, указав, что я хочу, чтобы они были совместимы с другими операционными системами, но не смог найти вариант, подобный этому.

Конечно, я исследовал это в Google, и удивился, что я действительно не нашел что-то связанное. Если существует несовместимость, я думаю, что это обсуждалось, верно?

Кто-нибудь знает об этом или имел ту же проблему раньше?

Ответы [ 2 ]

1 голос
/ 30 ноября 2010

Хммм, хорошо.Что ж, ответ довольно смущающий, но все же имеет некоторый потенциал, чтобы извлечь из него уроки.Папка, которую дал мне мой начальник, содержала множество файлов и фигур с похожими именами, например:

  1. bla1.fig
  2. bla.fig
  3. bla0.fig

Простая проблема была в том, что когда я впервые открывал фигуру с помощью GUIDE, я открыл фигуру bla.fig вместо bla1.fig.После этого я всегда использовал функцию повторного открытия GUIDE и не видел, что это всегда был неправильный файл.это вызвало проблемы.

==> поэтому нет несовместимости между Mac и ПК, хотя мне интересно, почему платформа записывается в файл, тогда

==> это могло быть проблемой с обратной совместимостьюпоскольку исходная фигура была создана с помощью MATLAB 5

==>, как отметили @Adrian и @Mikhail: было бы очень полезно использовать систему контроля версий, чтобы избежать сотен файлов с разныминомера, где большинство из них больше не нужны

0 голосов
/ 01 декабря 2010

По моему опыту (MATLAB 5, 6 и 7), похоже, есть некоторые несовместимости между разными платформами, а также между разными версиями - я сталкивался с подобными ситуациями много раз.

Я не совсем уверен, когда РУКОВОДСТВО стало доступно с MATLAB - я впервые заметил об этом, когда я использовал первую версию MATLAB 7. (Сначала она была очень нестабильной, но очень удобной в использованиисейчас. Например, я смутно помню критическую проблему со студенческой версией MATLAB 7. Вам нужно было загрузить патч, чтобы заставить работать графический интерфейс.)

Знает ли ваш босс, как был создан файл * .fig и вкакая версия MATLAB?Можете ли вы открыть * .fig на старой версии MATLAB и правильно отобразить графический интерфейс?

Некоторые функции, возможно, устарели после более ранней версии MATLAB, которая использовалась для создания рисунка, и могут вызывать некоторые незначительные проблемы с ней.В этом случае вы можете устранить неполадки, проверив все сообщения об ошибках и предупреждения, которые появляются в окне командной строки (или консоли MATLAB.)

Кроме того, вы сможете загружать файлы * .fig.на рабочем месте, используя следующую команду из окна командной строки, при условии, что файлы находятся в пути поиска MATLAB.

load your_file.fig -mat

Затем вы должны увидеть набор данных структуры и увидеть все свойства рисунка и т. Д. В этой структуре.

Вы можете использовать эту информацию для создания нового рисунка без GUIDE (GUI Development Environment / Tool).

Я рекомендую вам написать собственное приложение с графическим интерфейсом.Это не так сложно, с / без РУКОВОДСТВА.

Недавно я открыл сайт с несколькими советами по программированию в MATLAB для начинающих и промежуточных пользователей и обновляю его в свое свободное время.Если у вас есть какой-либо конкретный вопрос о построении графического интерфейса, я могу (или не могу) дать ответы там ...

...