Что случилось с классом Python? - PullRequest
5 голосов
/ 06 июня 2011

В поиске Google я нашел эту статью:

http://docs.python.org/release/1.4/lib/node201.html

Который показал примеры использования класса rect для выполнения объединения / пересечений / проверки, если точки находятся внутри прямоугольника. Не удается импортировать прямоугольник в Python 2.7. Этот класс в другой упаковке?

Ответы [ 4 ]

9 голосов
/ 06 июня 2011

Я предполагаю, что вопрос на самом деле не " что с ним случилось? ", а ", где я могу найти такой класс, который я могу использовать? ".

Большинство библиотек GUI имеют такой класс.Например: wx.Rect , QRect / QRectF , gtk.gdk.Rectangle , PyGame rect .

Если вам нужен универсальный класс прямоугольника без издержек на библиотеку графического интерфейса, я думаю, что ваш единственный вариант - Sympy , который имеет модуль Geometry , который может подойти вашемупотребностей.

Наконец, вы можете просто выбрать свой собственный.Сделать такой класс не очень сложно.

3 голосов
/ 06 июня 2011

Модуль stdwin, содержащий класс rect, устарел с версии 1.6 (см. эти примечания ), и я считаю, что он был удален в более поздней версии.

3 голосов
/ 06 июня 2011

Это часть стандартного оконного интерфейса.Цитировать из документации, на которую вы сами ссылались:

Использование STDWIN для новых приложений не рекомендуется.Он никогда не был портирован на Microsoft Windows или Windows NT, а для X11 или Macintosh ему не хватает важных функций - в частности, у него нет инструментов для построения диалогов.

1 голос
/ 25 сентября 2014

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

Поддерживаются некоторые методы:

  • Расстояние от одного прямоугольника до другого
  • Проверьте, перекрываются ли прямоугольники по оси x, y или обеим осям (по умолчанию)
  • Проверьте, находится ли точка внутри прямоугольника
  • Выровнять прямоугольники
...