Как стать автором
Обновить

Комментарии 53

Да, финальная картинка добила…
Замечательный цикл, продолжайте пожалуйста.
НЛО прилетело и опубликовало эту надпись здесь
>>> Qt.QObject.connect(slider, Qt.SIGNAL(«valueChanged(int)»), spinbox, Qt.SLOT(«setValue(int)»))

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

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

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

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

Т.е. я ошибся? Или далее идёт строка на Си++, которая таки использует строки внутри макросов SIGNAL/SLOT?
Сам вижу, что строка не на Си++, просто когда читал, внимания не обращал.
повторюсь;) на C++/Qt используются не строки. На пайтоне строки.
Я думаю что автор говоря про форму для C++ имел в виду что в пайтоне используется сокращенная форма записи.
Строки, строки, что по-вашему делают макросы SLOT() и SIGNAL()?
я имею в виду при написании программы, а не то что получается для компилятора.
НЛО прилетело и опубликовало эту надпись здесь
Tk и его дополнения в виде Tix и тому подобное…
Если вы посомтрите единственную русскоязычную… и то переводную книгу по Qt4, то вы увидите там такойже пример… но конечно на приплюснутых сях… это я к тому что тут ещё всё номрально, а там весь код такой…
НЛО прилетело и опубликовало эту надпись здесь
не хочу инициировать холивар, просто скажу свое мнение по поводу наворотов и сложностей в сях. Я не спорю что навернуто там немало, но благодаря данным наворотам на C++/Qt можно писать достаточно требовательные к скорости программы (на гребнутом Эльбрусе под МСВС у нас работал комплекс анализа видеоизображений на Qt3).
НЛО прилетело и опубликовало эту надпись здесь
Я с вами и не спорю;) просто не хочу чтобы о сях у народа складывалось впечатление будто это некий аналог КОБОЛа по монстроподобности и сложности.
НЛО прилетело и опубликовало эту надпись здесь
И что вам тут не нравится? По-моему Qtшная идея о сущности сигналов/слотов — очень удачна, и обработчики вешать удобно. С другой стороны пример выше, полностью соответствует тому, как это будет на плюсах. Python же обладает более продвинутыми возможностями (рантайм), и я думаю что Ривербанк зря не придумал, как строку выше упростить.
Подскажите какой-нить редактор, который будет подсказывать свойства объектов на манер vs, чтобы я написал slider. а он выкинул список с его свойствами setRange, setValue и т.д…
НЛО прилетело и опубликовало эту надпись здесь
Спасиб. Попробую. А сам то ты чем пользуешься?
НЛО прилетело и опубликовало эту надпись здесь
QT Creator?
НЛО прилетело и опубликовало эту надпись здесь
Eclipse + PyDev.
НЛО прилетело и опубликовало эту надпись здесь
Это ведь тема проектирования, ведь так? И затрагивает совершенно другие, хоть и отдаленно свявзанные аспекты. По этому тут ничего лучше, чем GoF и братии не придумали :)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Я в питоне новичок,
Вот меня что интерисует… мне нужно по нажатию на кнопку чтобы обновлялось значение у 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
Вот спасибо)

//Ждём продолжения серии!
НЛО прилетело и опубликовало эту надпись здесь
люблю когда ставят ссылку на первую часть во второй и не ленятся и ставят в первой части на вторую и последующие.

Другими словами люблю оглавления :)
Намёк понят, абсолютно согласен — учту ;)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории