2008-08-07 7 views
12

Я узнал Swing в тот же день, но теперь я переехал на Python и хочу сделать некоторые приложения с графическими интерфейсами. У меня не было времени изучить новый API графического интерфейса, поэтому я использовал Jython, но я бы предпочел использовать CPython.Перекрестная платформа, язык разметки GUI языка Agnostic?

Было бы здорово, если бы у меня была одна простая разметка, которая позволяет мне переключать библиотеки графического интерфейса. Было бы еще лучше, если бы я мог использовать один и тот же язык разметки на разных языках, чтобы я мог быстро сделать GUI для любого языка, который я использую. Кто-нибудь знает о такой разметке/библиотеке?

Я видел разметки, такие как разметка Glade и wxWidget (я забыл название). Отчасти это то, что я ищу (создание графического интерфейса без кодирования на языке), но они переплетены с определенной библиотекой. И ни один из них не очень приятный и дружелюбный к человеческому редактированию.

ответ

8

erm .. HTML? (пытаясь быть смешным здесь ... пока мы ждем реальных ответов ..)

+0

Почему бы и нет? Если у вас может быть настроенный браузер для его обслуживания, это может быть идеальным выбором. Он прост, стандартизирован и прост в использовании. – 2008-09-18 10:15:38

1

(ранее известный как wxWindows) библиотека может быть тем, что вы ищете. Особенно полезен порт для Python, wxPython, а также версии для разных языков - на C#, C++, Perl и Ruby - и для различных графических интерфейсов: Win32, Mac OS X, GTK +, X11, Motif, WinCE. Некоторое время библиотека была довольно твердой.

3

Не уверен, что это то, что вы ищете, но есть Glade (или Windows download), который является дизайнером для GTK +. Он генерирует XML-файл, который затем может использоваться для создания графического интерфейса на нескольких разных языках.

5

http://en.wikipedia.org/wiki/Qt_(toolkit)">Qt (произносится как «симпатичный» его создателями [1]) является межплатформенной платформой разработки приложений, широко используемой для разработки GUI программа

Qt использует C++ с несколькими нестандартных расширениями, реализованных с помощью дополнительного препроцессора, который генерирует стандартные C++ кода до компиляции Qt также может быть использован в нескольких других языках программирования,.. есть привязки для Ada (QtAda) [4], C ** # ** (Qyoto/Kimono) [5], Java (Qt Jambi) [6], Pascal, Perl, PHP (PHP-Qt), Ruby (RubyQt) и Python (PyQt). Он работает на всех основных платформах и имеет обширную поддержку интернационализации. Функции, отличные от GUI, включают доступ к базе данных SQL, разбор XML, управление потоками, поддержку сети и унифицированный межплатформенный API для обработки файлов.

3

XML User Interface Language. Не знаю много об этом, поэтому не уверен, что он соответствует вашим желаниям. Отправьте назад свой опыт, если вы играете с ним.

0

Я немного читал о языке пользовательского интерфейса XML (XUL), и он выглядит очень надежным и хорошо поддерживается. Основная проблема для меня - это привязка к движку рендеринга Gecko, так что это кросс-платформа, так как wxWidgets, QT и GTK + являются кросс-платформенными. Кроме того, привязки Python не так хороши, как другие библиотеки.

GladeXML и XRC кажется, что лучше вобще

1

@Cristian и Энтони судорога: в то время как XUL является хорошим выбором для разработки пользовательского интерфейса (кросс-платформенный, с открытым исходным кодом лицензированным, используемого в Firefox и других важных программ), это конечно, не язык агностик. Вы привязаны к Gecko, с JS для написания сценариев. Существует экспериментальная поддержка сценариев Python, но это только экспериментальный, AFAIK.

Вы можете определить UI в XUL + JS и использовать внешние компоненты, написанные на C++, хотя есть также мосты Python и Java).

4

Я серьезно сомневаюсь, что вы найдете язык разметки для GIU's не привязан к конкретной библиотеке. Чтобы такая вещь существовала, должен существовать стандартизованный язык разметки GUI с несколькими реализациями.

0

Я бы пошел с XSLT, поэтому его можно было встроить и в другие интерфейсы.

0

Если вы переключитесь на .NET, вы можете использовать общий язык GUI, например Razor в MVC (если вы занимаетесь веб-разработкой), и имеете выбор C# или VB или ряда других языков.