Я изучил Swing в тот день, но теперь я перешел на Python и хочу создать несколько приложений с графическим интерфейсом. У меня не было времени для изучения нового GUI API, поэтому я использую Jython, но я бы предпочел использовать CPython.
Было бы здорово, если бы у меня была одна простая разметка, позволяющая переключать библиотеки GUI. Было бы еще лучше, если бы я мог использовать один и тот же язык разметки для разных языков, чтобы я мог быстро создавать GUI для любого языка, который я использую. Кто-нибудь знает такую разметку / библиотеку?
Я видел разметки, такие как разметка Glade и wxWidget (я забыл название). Они отчасти то, что я ищу (создание графического интерфейса без написания кода на языке), но они переплетены с определенной библиотекой. И ни один из них не очень приятен на вид и не дружит с человеком.
эм ... HTML? (пытаясь быть смешным здесь ... пока мы ждем реальных ответов ..)
Библиотека wxWidgets (ранее известная как wxWindows) может быть тем, что вы ищете. Особенно хороший порт для Python, wxPython , а также версий для разных языков - C #, C ++, Perl и Ruby - и для различных графических интерфейсов: Win32, Mac OS X, GTK +, X11, Motif, WinCE. Библиотека уже давно и довольно солидная.
Не уверен, что это то, что вы ищете, но есть Glade (или загрузка для Windows ), которая является дизайнером для GTK +. Он генерирует XML-файл, который затем можно использовать для создания графического интерфейса на нескольких разных языках.
http://en.wikipedia.org/wiki/Qt_(toolkit)">Qt (произносится «мило» его создателями [1]) - это кроссплатформенная среда разработки приложений, широко используемая для разработки программ с графическим интерфейсом.
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 для обработки файлов.
Язык интерфейса пользователя XML . Не знаю много об этом, поэтому не уверен, что он соответствует вашим желаниям. Отпишитесь с вашим опытом, если вы играете с ним.
Я немного прочитал на XML User Interface Language (XUL), и он выглядит действительно надежным и хорошо поддерживаемым. Для меня главная проблема в том, что он привязан к движку рендеринга Gecko, поэтому он кроссплатформенный, как wxWidgets, QT и GTK + кроссплатформенные. Кроме того, там привязки Python не так хороши, как в других библиотеках.
GladeXML и XRC кажутся лучшими наценками
@Cristian и Antony Cramp: хотя XUL является хорошим выбором для разработки пользовательского интерфейса (кросс-платформенный, с открытым исходным кодом, используется в Firefox и других основных программах), он, безусловно, не зависит от языка. Вы привязаны к Gecko, с JS для сценариев. Существует экспериментальная поддержка сценариев Python, но только экспериментальная, AFAIK.
Вы можете определить пользовательский интерфейс в XUL + JS и использовать внутренние компоненты, написанные на C ++ (также доступны мосты Python и Java).
Я серьезно сомневаюсь, что вы найдете язык разметки для GIU, который не привязан к конкретной библиотеке. Чтобы такая вещь существовала, должен быть стандартизированный язык разметки GUI с несколькими реализациями.
Я бы пошел с XSLT, поэтому он может быть встроен и в другие интерфейсы.
Если вы переключитесь на .NET, то вы сможете использовать общий язык графического интерфейса, например Razor в MVC (если вы занимаетесь веб-разработкой), и можете выбрать C # или VB или ряд других языков.