Pull to refresh

Comments 53

Замечательный цикл, продолжайте пожалуйста.
UFO just landed and posted this here
>>> Qt.QObject.connect(slider, Qt.SIGNAL(«valueChanged(int)»), spinbox, Qt.SLOT(«setValue(int)»))

ах какая «изящная» реализация обработчиков событий, так и хочется блевануть :)

UFO just landed and posted this here
и насколько C# кроссовый и гибкий? Qt в отличие от .NET не завертывает нас в нечто со сборщиком мусора и проей автоматизацией (для этого есть Ява). С помощью Qt мы можем написать как приложение, простое в написании (на пайтоне, раби), так и требовательное к скорости (на сях).
Оу, Сишарп уже работает под Windows/Linux/Embedded Linux/Win Mobile/St60? А WinForms уже не windows-only? :)
UFO just landed and posted this here
Он не заработает под всем этим зоопарком, да и писать надо будет на шарповском биндинге к GTK, приятного мало :)
UFO just landed and posted this here
Ну если нужно поддерживать такой зоопарк, то конечно Qt лучше. Тут надо выбирать.
Даже если и не стоит острой необходимости поддерживать зоопарк в данный момент (например нужна только виндовая версия), то она может возникнуть позже (для части пользователей понадобится еще Linux и Mac OS например). Если приложение не очень завязано на системную часть, то теоретически перенос состоит в перекомпиляции приложения;)
Поклонники .net минусуют, не любят тут правду :))
UFO just landed and posted this here
Передавать названия методов в виде строк лучше? Помоему это пипец какой-то.
Это один из распространенных подходов в языках с динамической типизацией. Автокомплит среды разработки тут конечно не поможет, но это не значит что такой подход хуже использования енумов и констант.
опечатки в таких вещах могу привести к очень неприятным ошибкам.
UFO just landed and posted this here
Сразу оговорюсь, что я против такой реализации ничего не имею.

Но синтаксис и правда выглядит не лучшим образом.
Возможно на это были причины, но почему сигналы и слоты строками задаются? Или я что-то недопонял?
на сях не строки… на пайтоне почему бы и не использовать строки?
Значит вот эта фраза ввела меня в заблуждение:
или то же самое в форме для C++ (привыкайте к форме для Python, я буду использовать именно ее):

Фактически это для меня прозвучало как «или то же самое в форме для C++:»

Т.е. я ошибся? Или далее идёт строка на Си++, которая таки использует строки внутри макросов SIGNAL/SLOT?
Сам вижу, что строка не на Си++, просто когда читал, внимания не обращал.
повторюсь;) на C++/Qt используются не строки. На пайтоне строки.
Я думаю что автор говоря про форму для C++ имел в виду что в пайтоне используется сокращенная форма записи.
Строки, строки, что по-вашему делают макросы SLOT() и SIGNAL()?
я имею в виду при написании программы, а не то что получается для компилятора.
UFO just landed and posted this here
Tk и его дополнения в виде Tix и тому подобное…
Если вы посомтрите единственную русскоязычную… и то переводную книгу по Qt4, то вы увидите там такойже пример… но конечно на приплюснутых сях… это я к тому что тут ещё всё номрально, а там весь код такой…
UFO just landed and posted this here
не хочу инициировать холивар, просто скажу свое мнение по поводу наворотов и сложностей в сях. Я не спорю что навернуто там немало, но благодаря данным наворотам на C++/Qt можно писать достаточно требовательные к скорости программы (на гребнутом Эльбрусе под МСВС у нас работал комплекс анализа видеоизображений на Qt3).
UFO just landed and posted this here
Я с вами и не спорю;) просто не хочу чтобы о сях у народа складывалось впечатление будто это некий аналог КОБОЛа по монстроподобности и сложности.
UFO just landed and posted this here
И что вам тут не нравится? По-моему Qtшная идея о сущности сигналов/слотов — очень удачна, и обработчики вешать удобно. С другой стороны пример выше, полностью соответствует тому, как это будет на плюсах. Python же обладает более продвинутыми возможностями (рантайм), и я думаю что Ривербанк зря не придумал, как строку выше упростить.
Подскажите какой-нить редактор, который будет подсказывать свойства объектов на манер vs, чтобы я написал slider. а он выкинул список с его свойствами setRange, setValue и т.д…
UFO just landed and posted this here
Спасиб. Попробую. А сам то ты чем пользуешься?
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Это ведь тема проектирования, ведь так? И затрагивает совершенно другие, хоть и отдаленно свявзанные аспекты. По этому тут ничего лучше, чем GoF и братии не придумали :)
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Я в питоне новичок,
Вот меня что интерисует… мне нужно по нажатию на кнопку чтобы обновлялось значение у label'а… я пишу так:
Qt.QObject.connect(button,Qt.SIGNAL(«clicked()»),label.setText(refresh()))
т.е. функция refresh() возвращает строку, которую и надо установить в значение, но как я понял так писать нельзя (функция запрашивается при первом запуске, а потом подставляется значение из первого запроса).
Вопрос: а как писать можно?)
Я в PyQt4 не силён, в отличие от автора, поэтому знаю только самый простой способ:

def updateLabel():
label.setText(refresh())

Qt.QObject.connect(button,Qt.SIGNAL(«clicked()»),updateLabel)

P.S. наверное можно как-то через lambda
Вот спасибо)

//Ждём продолжения серии!
UFO just landed and posted this here
люблю когда ставят ссылку на первую часть во второй и не ленятся и ставят в первой части на вторую и последующие.

Другими словами люблю оглавления :)
Намёк понят, абсолютно согласен — учту ;)
Sign up to leave a comment.

Articles