Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 29.5.2011, 19:27 |
Не вижу ни какого противоречия. В python так же как и в С++ есть перегрузка операторов. перегрузка не означает, что можно делать так, чтобы оператор делал не свою работу.def __lshift__ (s) def __*сдвиг__ (...)def __rshift__ (, arg__2 вот его смысл. Т.е. плохо, когда логика оператора нарушается |
|
igor_bogomolov | Дата 29.5.2011, 17:46 |
Но походу это не правильное решение в PySide/PyQt, т.к. противоречит самому Питону. Не вижу ни какого противоречия. В python так же как и в С++ есть перегрузка операторов. Просто синтаксически она выглядит несколько иначе. |
|
Litkevich Yuriy | Дата 29.5.2011, 15:24 |
перегруженные операторы потоков я в бумажной книжке по питону смотрел, там эти операторы обозваны как операторы сдвига, да и на названия методов соответсвующие.Вообще у меня они действительно работают. Но походу это не правильное решение в PySide/PyQt, т.к. противоречит самому Питону. |
|
igor_bogomolov | Дата 29.5.2011, 13:06 |
У меня нет PySide (надо будет тоже скачать, посмотреть что получилось), поэтому проверить не могу. Но судя по документации все должно работать. И в документации пример именно на python, приглядись к нему по внимательнее. Это питон в чистом виде. Все будет работать.Потому что функции вида (смотри список методов в приведённой тобой ссылке) это как раз и есть перегруженные операторы потоков (<< и >>)Вот аналогичный тестовый пример на PyQt4, вполне рабочий
|
|
Litkevich Yuriy | Дата 29.5.2011, 11:52 |
Что-то я не соображу как писать в поток (QTextStrem). Операторов работы с потоком в Питоне вроде нет. В официальной документации пример остался от Си++ ??? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.3.2024, 23:40 |