wxWidgets

Поделись знанием:
Перейти к: навигация, поиск
wxWidgets
Тип

библиотека элементов интерфейса (виджетов)

Разработчик

[wxwidgets.org/about/team/ Разработчики и участники]

Написана на

C++, Perl, Python

Операционная система

UNIX-подобные, Windows

Языки интерфейса

На 37-ми языках, включая русский

Состояние

Активное

Лицензия

[www.wxwidgets.org/about/licence/ wxWidgets License] (совместима с GPL)

Сайт

[www.wxwidgets.org idgets.org]

К:Википедия:Статьи без изображений (тип: не указан)

wxWidgets (ранее известная как wxWindows) — кроссплатформенная библиотека инструментов с открытым исходным кодом для разработки кроссплатформенных на уровне исходного кода приложений. Основным применением wxWidgets является построение графического интерфейса пользователя (GUI), однако библиотека включает большое количество других функций и используется для создания весьма разнообразного ПО. wxWidgets выпущена под лицензией, базирующейся на LGPL. Проект был начат в 1992 Джулианом Смартом (Julian Smart), который до сих пор является членом основной группы разработчиков и уделяет ему внимание, в частности, разрабатывая среду построения графических интерфейсов на wxWidgets — DialogBlocks [1].





Технические особенности и преимущества

wxWidgets — это инструмент разработчика для написания настольных или мобильных приложений с графическим интерфейсом (GUI), который экономит много времени на написание кроссплатформенных приложений и обеспечивает их стандартное поведение.

Приложения обычно показывают пользователю окна со стандартными элементами управления, изображениями и графиками; реагируют на события от мыши, клавиатуры и других источников — эти стандартные интерфейсные функции легко реализуются при использовании wxWidgets и отходят на второй план, позволяя программисту сосредоточить свои усилия на функциональности приложения. Более того. Поскольку на разных операционных системах и устройствах по-разному могут быть реализованы и другие функции, wxWidgets включает высокоуровневые средства (наборы классов) для работы с графическими изображениями, документами в форматах XML и HTML, архивами, файловыми системами, процессами, подсистемами печати, мультимедиа, сетями, классы для организации многопоточности, конфигурирования приложений, межпроцессного взаимодействия, доступа к базам данных, отладки, отправки дампов и множество других инструментов.

Такие развитые средства библиотеки wxWidgets позволяют писать программы на базе единого API и компилировать на множестве компьютерных платформ с минимальными изменениями в исходном коде либо вообще без них. Она поддерживает системы Microsoft Windows, Apple Macintosh, UNIX-подобные (для X11, Motif и GTK+), OpenVMS и OS/2. Встраиваемая (Embedded) версия находится в разработке.

Библиотека написана на C++, но может подключаться ко множеству других распространённых языков, таких, как Ruby (wxRuby, Anvil), Python (wxPython), Smalltalk (wxSqueak), Perl, Erlang, Haskell[2], Lua[3].

Среди компиляторов C++ поддерживаются:

Важная особенность wxWidgets: в отличие от некоторых других библиотек (Swing, Qt и др.), она максимально использует «родные» графические элементы интерфейса операционной системы всюду, где это возможно. Это существенное преимущество для многих пользователей, поскольку они привыкают работать в конкретной среде, и изменения интерфейса программ часто вызывают затруднения в их работе.

Также wxWidgets обладает всеми преимуществами, присущими бесплатной свободной платформе:

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

Более того, крайне «либеральная» лицензия wxWidgets допускает линковку с несвободными фрагментами кода, что позволяет использовать её и в закрытых коммерческих проектах.

Все вышеперечисленные особенности способствовали популярности библиотеки у самых разных разработчиков — от программистов-энтузиастов до крупных корпораций и государственных учреждений (в числе которых Xerox, AMD, NASA и многие другие).

Краткая история wxWidgets

Проект под названием wxWindows был основан в 1992 году, когда Джулиан Смарт работал в Эдинбургском Университете над инструментом диаграммирования под названием «Hardy». Вместо того, чтобы выбирать между разработкой его для рабочей станции Sun или для платформы PC, Джулиан предпочёл применить кроссплатформенный фреймворк. Поскольку мощность существующих кроссплатформенных фреймворков была ограничена, а отделение не имело необходимого бюджета для написания такового, то он решил написать его самостоятельно. Университет предоставил Джулиану доступ для закачки wxWindows 1.0 на FTP-сервер отделения в сентябре 1992, и другие разработчики начали использовать его код.

Быстро появилось маленькое, однако полное энтузиазма сообщество программистов на wxWindows и обзавелось своей почтовой рассылкой. Добавления и исправления получали распространение в рассылке. Постепенно расширялся круг пользовательской аудитории библиотеки по всему миру: индивидуальные программисты, академические группы, государственные учреждения и те, кто нашёл, что wxWindows — более удобный продукт с лучшей поддержкой, чем коммерческие продукты, которые они до этого видели или использовали.

Вначале wxWindows был нацелен на Xview и MFC 1.0. Пользователи Borland С++ , жаловавшиеся на привязку к MFC, таким образом, стали переписывать программы на чистый Win32. Поскольку XView открывал путь на Motif, то перенос на Motif был запущен весьма оперативно.

В 1997 году новая версия wxWindows 2 API была спроектирована при помощи Маркуса Холзема (который ещё во времена создания рассылки создал Xt-направление wxWindows). Вольфрам Глогер предложил идею портирования wxWindows на GTK+, и Роберт Роблинг создал необходимые графические элементы пользователя, адаптированные для GNOME. Он стал основоположником разработки wxGTK, и поныне оставаясь главным специалистом в разработке Unix/Linux-порта wxWidgets.

В 1998 году порт для Windows и порт для GTK+ были совмещены и выложены под управлением системы CVS. Вадим Цейтлин присоединился к проекту, чтобы поспособствовать разработке огромной части дизайна и кода. Штефан Чомор также в 1998 начал создание порта на MacOS.

1999 год обозначен приходом программиста с именем Вацлав Славик (Vaclav Slavik). Он создал внушительные wxHTML-классы и основанный на HTML просмотрщик справочных файлов.

В 2000 году фирма SciTech Inc. профинансировала начало разработки wxUniversal — собственный для wxWindows набор графических элементов пользователя для использования на платформах, у которых пока что нет никаких графических элементов пользователя.

В 2002 году Джулиан Смарт и Роберт Ройблинг добавили порт wxX11, используя wxUniversal.

В июле 2003 года wxWindows начала запускаться на Windows CE, а Роберт Ройблинг продемонстрировал wxGTK-приложение, запущенное на встраиваемой платформе GPE Linux.

20 февраля 2004 г. разработчики wxWindows предупредили, что проект будет переименован в wxWidgets как результат переговоров «Майкрософт» и Джулиана Смарта в связи с зарезервированной «Майкрософт» торговой маркой Windows (за смену имени разработчики wxWidgets и других связанных проектов получили денежную компенсацию)[4]. Также в 2004 Штефан Чомор и его помощники успешно завершили перенос wxWidgets (wxMac) на MAC OS X, значительно расширив функциональные возможности приложений для OS X. Порт, использующий Cocoa, был заметно улучшен (направление возглавляли Дэвид Эллиот и Уильям Осборн). Уильям Осборн выиграл конкурс по созданию версии wxWidgets для Palm OS 6, задачей ставилась минимальная поддержка платформы.

В апреле 2005 года была выпущена версия 2.6, в которой было осуществлено слияние всех основных портов фреймворка.

Распространённое ПО, написанное на wxWidgets

См. также Категория:Приложения, использующие WxWidgets
  • Amaya — веб-браузер и редактор
  • aMule — клиент файлообменной сети
  • Aegisub -  кроссплатформенный редактор субтитров
  • Audacity — звуковой редактор
  • BitTorrent — клиент файлообменной сети
  • Code::Blocks — интегрированная среда разработки
  • CodeLite — редактор для программистов
  • Dolphin — эмулятор игровых приставок
  • FileZilla — FTP-клиент
  • KiCad — программа разводки печатных плат
  • RapidSVN — клиент Subversion
  • TrueCrypt — программа для шифрования
  • wxMaxima — система компьютерной алгебры
  • UnrealEd — редактор для Unreal Engine
  • и многие другие.

См. также

Напишите отзыв о статье "WxWidgets"

Примечания

  1. [www.juliansmart.com/about JulianSmart.com]
  2. [www.haskell.org/haskellwiki/WxHaskell wxHaskell]
  3. [wxlua.sourceforge.net/ wxLua]
  4. [www.wxwidgets.org/about/name-change/ wxWidgets Name Change] (англ.). — Смена имени на wxWidgets. Проверено 29 октября 2008. [www.webcitation.org/61FiSLnKf Архивировано из первоисточника 27 августа 2011].

Литература

  • Боровский А. [wiki.linuxformat.ru/wiki/LXF98:wxWidgets wxWidgets. Часть 1: Живая история] // Linux Format : Журнал. — ноябрь 2007. — № 11 (98). — С. 84—87.
  • Боровский А. [wiki.linuxformat.ru/wiki/LXF99:wxWidgets wxWidgets. Часть 2: Основы применения] // Linux Format : Журнал. — декабрь 2007. — № 12 (99). — С. 90—93.

Ссылки

  • [www.wxwidgets.org/ Официальный сайт]
  • [forums.wxwidgets.org Неофициальный форум]
  • Проекты поддержки языков программирования:
    • [wxbasic.net/ wxBasic] — для Бейсик
    • [wxperl.sourceforge.net/ wxPerl] — для Perl
    • [www.wxpython.org/ wxPython] — для Python
    • [wxruby.rubyforge.org/ wxRuby] — для Руби
    • [rubyforge.org/projects/anvil/ Anvil] — для Руби, на базе wxRuby, с улучшеным синтаксисом
    • [www.wxsqueak.org/ wxSqueak] — для Smalltalk
    • [wxlua.sourceforge.net/ wxLua] — для Lua
    • [jwx.sourceforge.net/ wx4j] — для Java
    • [wxjs.sourceforge.net/ wxJS] — для JavaScript
    • [wxhaskell.sourceforge.net/ wxHaskell] — для Haskell
    • [elj.sourceforge.net/projects/gui/ewxw/ wxEiffel] — для Эйфель
    • [wxd.sourceforge.net/ wxD] — для D
    • [wxnet.sourceforge.net/ wx.NET] — для .NET
    • [wxerlang.sourceforge.net/ wxErlang] — для Erlang
    • [wxeuphoria.sourceforge.net/ wxEuphoria] — для Euphoria
  • [sourceforge.net/projects/wxglade/ wxGlade] — графический редактор форм для wxWidgets.
  • [wxdsgn.sourceforge.net wxDev-C++] — Dev-C++ IDE с редактором форм для wxWidgets
  • [visualwx.altervista.org/ visualwx] — Ещё один редактор форм и генератор кода для wxWidgets
  • [www.wxformbuilder.org/ wxFormBuilder] — OpenSource дизайнер форм, и RAD инструмент для wxWidgets
  • [www.dialogblocks.com/ DialogBlocks] — ShareWare конструктор диалогов wxWidgets с удобным визуальным интерфейсом

Справочная документация

  • [wxwidgets.info Всё о кросс-платформенном программировании с wxWidgets ] (англ.) — Тематический сайт о кросс-платформенной разработке программного обеспечения с использованием библиотеки wxWidgets. Статьи, руководства, видеоуроки, дополнительные компоненты и библиотеки.
  • [www.realcoding.net/article/rubric/wxwidgets wxWidgets на RealCoding ] (рус.) — Серия статей по wxWidgets на русском языке.
  • [www.informit.com/title/0131473816 Cross-Platform GUI Programming with wxWidgets(англ.) — первая опубликованная книга, описывающая работу с wxWidgets.
  • [www.informit.com/articles/article.asp?p=405047&rl=1 Drawing and Printing in C++ with wxWidgets] (англ.) — статья описывает идею контекста устройства, разъясняет концепцию области рисования вроде окна или печатаемой страницы. Она обсуждает доступные классы контекстов устройств и набор «инструментов рисования», которые wxWidgets предоставляет для работы со шрифтами, цветом, рисованием примитивов, и закраски областей.
  • [www.ibm.com/developerworks/ru/library/l-wxwidgets/index.html Создание кросс-платформенных GUI-приложений с использованием wxWidgets] (рус.) — основы создания GUI-приложений на базе wxWidgets.
  • [wxdevcpp-book.sourceforge.net/ Programming with wxDev-C++] (англ.) — книга на английском языке, в которой описывается программирование с использованием wxWidgets в среде wxDev-C++.
  • [begemotov.net/wxwidgets/ Использование wxWidgets] (рус.) — Блог, посвященный программированию с использованием wxWidgets


Отрывок, характеризующий WxWidgets

– Так зачем же вы служите?
– А вот зачем. Отец мой один из замечательнейших людей своего века. Но он становится стар, и он не то что жесток, но он слишком деятельного характера. Он страшен своей привычкой к неограниченной власти, и теперь этой властью, данной Государем главнокомандующим над ополчением. Ежели бы я два часа опоздал две недели тому назад, он бы повесил протоколиста в Юхнове, – сказал князь Андрей с улыбкой; – так я служу потому, что кроме меня никто не имеет влияния на отца, и я кое где спасу его от поступка, от которого бы он после мучился.
– А, ну так вот видите!
– Да, mais ce n'est pas comme vous l'entendez, [но это не так, как вы это понимаете,] – продолжал князь Андрей. – Я ни малейшего добра не желал и не желаю этому мерзавцу протоколисту, который украл какие то сапоги у ополченцев; я даже очень был бы доволен видеть его повешенным, но мне жалко отца, то есть опять себя же.
Князь Андрей всё более и более оживлялся. Глаза его лихорадочно блестели в то время, как он старался доказать Пьеру, что никогда в его поступке не было желания добра ближнему.
– Ну, вот ты хочешь освободить крестьян, – продолжал он. – Это очень хорошо; но не для тебя (ты, я думаю, никого не засекал и не посылал в Сибирь), и еще меньше для крестьян. Ежели их бьют, секут, посылают в Сибирь, то я думаю, что им от этого нисколько не хуже. В Сибири ведет он ту же свою скотскую жизнь, а рубцы на теле заживут, и он так же счастлив, как и был прежде. А нужно это для тех людей, которые гибнут нравственно, наживают себе раскаяние, подавляют это раскаяние и грубеют от того, что у них есть возможность казнить право и неправо. Вот кого мне жалко, и для кого бы я желал освободить крестьян. Ты, может быть, не видал, а я видел, как хорошие люди, воспитанные в этих преданиях неограниченной власти, с годами, когда они делаются раздражительнее, делаются жестоки, грубы, знают это, не могут удержаться и всё делаются несчастнее и несчастнее. – Князь Андрей говорил это с таким увлечением, что Пьер невольно подумал о том, что мысли эти наведены были Андрею его отцом. Он ничего не отвечал ему.
– Так вот кого мне жалко – человеческого достоинства, спокойствия совести, чистоты, а не их спин и лбов, которые, сколько ни секи, сколько ни брей, всё останутся такими же спинами и лбами.
– Нет, нет и тысячу раз нет, я никогда не соглашусь с вами, – сказал Пьер.


Вечером князь Андрей и Пьер сели в коляску и поехали в Лысые Горы. Князь Андрей, поглядывая на Пьера, прерывал изредка молчание речами, доказывавшими, что он находился в хорошем расположении духа.
Он говорил ему, указывая на поля, о своих хозяйственных усовершенствованиях.
Пьер мрачно молчал, отвечая односложно, и казался погруженным в свои мысли.
Пьер думал о том, что князь Андрей несчастлив, что он заблуждается, что он не знает истинного света и что Пьер должен притти на помощь ему, просветить и поднять его. Но как только Пьер придумывал, как и что он станет говорить, он предчувствовал, что князь Андрей одним словом, одним аргументом уронит всё в его ученьи, и он боялся начать, боялся выставить на возможность осмеяния свою любимую святыню.
– Нет, отчего же вы думаете, – вдруг начал Пьер, опуская голову и принимая вид бодающегося быка, отчего вы так думаете? Вы не должны так думать.
– Про что я думаю? – спросил князь Андрей с удивлением.
– Про жизнь, про назначение человека. Это не может быть. Я так же думал, и меня спасло, вы знаете что? масонство. Нет, вы не улыбайтесь. Масонство – это не религиозная, не обрядная секта, как и я думал, а масонство есть лучшее, единственное выражение лучших, вечных сторон человечества. – И он начал излагать князю Андрею масонство, как он понимал его.
Он говорил, что масонство есть учение христианства, освободившегося от государственных и религиозных оков; учение равенства, братства и любви.
– Только наше святое братство имеет действительный смысл в жизни; всё остальное есть сон, – говорил Пьер. – Вы поймите, мой друг, что вне этого союза всё исполнено лжи и неправды, и я согласен с вами, что умному и доброму человеку ничего не остается, как только, как вы, доживать свою жизнь, стараясь только не мешать другим. Но усвойте себе наши основные убеждения, вступите в наше братство, дайте нам себя, позвольте руководить собой, и вы сейчас почувствуете себя, как и я почувствовал частью этой огромной, невидимой цепи, которой начало скрывается в небесах, – говорил Пьер.
Князь Андрей, молча, глядя перед собой, слушал речь Пьера. Несколько раз он, не расслышав от шума коляски, переспрашивал у Пьера нерасслышанные слова. По особенному блеску, загоревшемуся в глазах князя Андрея, и по его молчанию Пьер видел, что слова его не напрасны, что князь Андрей не перебьет его и не будет смеяться над его словами.
Они подъехали к разлившейся реке, которую им надо было переезжать на пароме. Пока устанавливали коляску и лошадей, они прошли на паром.
Князь Андрей, облокотившись о перила, молча смотрел вдоль по блестящему от заходящего солнца разливу.
– Ну, что же вы думаете об этом? – спросил Пьер, – что же вы молчите?
– Что я думаю? я слушал тебя. Всё это так, – сказал князь Андрей. – Но ты говоришь: вступи в наше братство, и мы тебе укажем цель жизни и назначение человека, и законы, управляющие миром. Да кто же мы – люди? Отчего же вы всё знаете? Отчего я один не вижу того, что вы видите? Вы видите на земле царство добра и правды, а я его не вижу.
Пьер перебил его. – Верите вы в будущую жизнь? – спросил он.
– В будущую жизнь? – повторил князь Андрей, но Пьер не дал ему времени ответить и принял это повторение за отрицание, тем более, что он знал прежние атеистические убеждения князя Андрея.
– Вы говорите, что не можете видеть царства добра и правды на земле. И я не видал его и его нельзя видеть, ежели смотреть на нашу жизнь как на конец всего. На земле, именно на этой земле (Пьер указал в поле), нет правды – всё ложь и зло; но в мире, во всем мире есть царство правды, и мы теперь дети земли, а вечно дети всего мира. Разве я не чувствую в своей душе, что я составляю часть этого огромного, гармонического целого. Разве я не чувствую, что я в этом огромном бесчисленном количестве существ, в которых проявляется Божество, – высшая сила, как хотите, – что я составляю одно звено, одну ступень от низших существ к высшим. Ежели я вижу, ясно вижу эту лестницу, которая ведет от растения к человеку, то отчего же я предположу, что эта лестница прерывается со мною, а не ведет дальше и дальше. Я чувствую, что я не только не могу исчезнуть, как ничто не исчезает в мире, но что я всегда буду и всегда был. Я чувствую, что кроме меня надо мной живут духи и что в этом мире есть правда.
– Да, это учение Гердера, – сказал князь Андрей, – но не то, душа моя, убедит меня, а жизнь и смерть, вот что убеждает. Убеждает то, что видишь дорогое тебе существо, которое связано с тобой, перед которым ты был виноват и надеялся оправдаться (князь Андрей дрогнул голосом и отвернулся) и вдруг это существо страдает, мучается и перестает быть… Зачем? Не может быть, чтоб не было ответа! И я верю, что он есть…. Вот что убеждает, вот что убедило меня, – сказал князь Андрей.
– Ну да, ну да, – говорил Пьер, – разве не то же самое и я говорю!
– Нет. Я говорю только, что убеждают в необходимости будущей жизни не доводы, а то, когда идешь в жизни рука об руку с человеком, и вдруг человек этот исчезнет там в нигде, и ты сам останавливаешься перед этой пропастью и заглядываешь туда. И, я заглянул…
– Ну так что ж! вы знаете, что есть там и что есть кто то? Там есть – будущая жизнь. Кто то есть – Бог.
Князь Андрей не отвечал. Коляска и лошади уже давно были выведены на другой берег и уже заложены, и уж солнце скрылось до половины, и вечерний мороз покрывал звездами лужи у перевоза, а Пьер и Андрей, к удивлению лакеев, кучеров и перевозчиков, еще стояли на пароме и говорили.
– Ежели есть Бог и есть будущая жизнь, то есть истина, есть добродетель; и высшее счастье человека состоит в том, чтобы стремиться к достижению их. Надо жить, надо любить, надо верить, – говорил Пьер, – что живем не нынче только на этом клочке земли, а жили и будем жить вечно там во всем (он указал на небо). Князь Андрей стоял, облокотившись на перила парома и, слушая Пьера, не спуская глаз, смотрел на красный отблеск солнца по синеющему разливу. Пьер замолк. Было совершенно тихо. Паром давно пристал, и только волны теченья с слабым звуком ударялись о дно парома. Князю Андрею казалось, что это полосканье волн к словам Пьера приговаривало: «правда, верь этому».
Князь Андрей вздохнул, и лучистым, детским, нежным взглядом взглянул в раскрасневшееся восторженное, но всё робкое перед первенствующим другом, лицо Пьера.
– Да, коли бы это так было! – сказал он. – Однако пойдем садиться, – прибавил князь Андрей, и выходя с парома, он поглядел на небо, на которое указал ему Пьер, и в первый раз, после Аустерлица, он увидал то высокое, вечное небо, которое он видел лежа на Аустерлицком поле, и что то давно заснувшее, что то лучшее что было в нем, вдруг радостно и молодо проснулось в его душе. Чувство это исчезло, как скоро князь Андрей вступил опять в привычные условия жизни, но он знал, что это чувство, которое он не умел развить, жило в нем. Свидание с Пьером было для князя Андрея эпохой, с которой началась хотя во внешности и та же самая, но во внутреннем мире его новая жизнь.


Уже смерклось, когда князь Андрей и Пьер подъехали к главному подъезду лысогорского дома. В то время как они подъезжали, князь Андрей с улыбкой обратил внимание Пьера на суматоху, происшедшую у заднего крыльца. Согнутая старушка с котомкой на спине, и невысокий мужчина в черном одеянии и с длинными волосами, увидав въезжавшую коляску, бросились бежать назад в ворота. Две женщины выбежали за ними, и все четверо, оглядываясь на коляску, испуганно вбежали на заднее крыльцо.
– Это Машины божьи люди, – сказал князь Андрей. – Они приняли нас за отца. А это единственно, в чем она не повинуется ему: он велит гонять этих странников, а она принимает их.
– Да что такое божьи люди? – спросил Пьер.
Князь Андрей не успел отвечать ему. Слуги вышли навстречу, и он расспрашивал о том, где был старый князь и скоро ли ждут его.
Старый князь был еще в городе, и его ждали каждую минуту.
Князь Андрей провел Пьера на свою половину, всегда в полной исправности ожидавшую его в доме его отца, и сам пошел в детскую.
– Пойдем к сестре, – сказал князь Андрей, возвратившись к Пьеру; – я еще не видал ее, она теперь прячется и сидит с своими божьими людьми. Поделом ей, она сконфузится, а ты увидишь божьих людей. C'est curieux, ma parole. [Это любопытно, честное слово.]
– Qu'est ce que c'est que [Что такое] божьи люди? – спросил Пьер
– А вот увидишь.
Княжна Марья действительно сконфузилась и покраснела пятнами, когда вошли к ней. В ее уютной комнате с лампадами перед киотами, на диване, за самоваром сидел рядом с ней молодой мальчик с длинным носом и длинными волосами, и в монашеской рясе.
На кресле, подле, сидела сморщенная, худая старушка с кротким выражением детского лица.
– Andre, pourquoi ne pas m'avoir prevenu? [Андрей, почему не предупредили меня?] – сказала она с кротким упреком, становясь перед своими странниками, как наседка перед цыплятами.
– Charmee de vous voir. Je suis tres contente de vous voir, [Очень рада вас видеть. Я так довольна, что вижу вас,] – сказала она Пьеру, в то время, как он целовал ее руку. Она знала его ребенком, и теперь дружба его с Андреем, его несчастие с женой, а главное, его доброе, простое лицо расположили ее к нему. Она смотрела на него своими прекрасными, лучистыми глазами и, казалось, говорила: «я вас очень люблю, но пожалуйста не смейтесь над моими ». Обменявшись первыми фразами приветствия, они сели.
– А, и Иванушка тут, – сказал князь Андрей, указывая улыбкой на молодого странника.
– Andre! – умоляюще сказала княжна Марья.
– Il faut que vous sachiez que c'est une femme, [Знай, что это женщина,] – сказал Андрей Пьеру.
– Andre, au nom de Dieu! [Андрей, ради Бога!] – повторила княжна Марья.
Видно было, что насмешливое отношение князя Андрея к странникам и бесполезное заступничество за них княжны Марьи были привычные, установившиеся между ними отношения.
– Mais, ma bonne amie, – сказал князь Андрей, – vous devriez au contraire m'etre reconaissante de ce que j'explique a Pierre votre intimite avec ce jeune homme… [Но, мой друг, ты должна бы быть мне благодарна, что я объясняю Пьеру твою близость к этому молодому человеку.]