Комментарии 53
Да, финальная картинка добила…
0
Замечательный цикл, продолжайте пожалуйста.
0
НЛО прилетело и опубликовало эту надпись здесь
>>> Qt.QObject.connect(slider, Qt.SIGNAL(«valueChanged(int)»), spinbox, Qt.SLOT(«setValue(int)»))
ах какая «изящная» реализация обработчиков событий, так и хочется блевануть :)
ах какая «изящная» реализация обработчиков событий, так и хочется блевануть :)
+2
НЛО прилетело и опубликовало эту надпись здесь
C#?
-2
и насколько C# кроссовый и гибкий? Qt в отличие от .NET не завертывает нас в нечто со сборщиком мусора и проей автоматизацией (для этого есть Ява). С помощью Qt мы можем написать как приложение, простое в написании (на пайтоне, раби), так и требовательное к скорости (на сях).
+1
Оу, Сишарп уже работает под Windows/Linux/Embedded Linux/Win Mobile/St60? А WinForms уже не windows-only? :)
-3
НЛО прилетело и опубликовало эту надпись здесь
Ну если нужно поддерживать такой зоопарк, то конечно Qt лучше. Тут надо выбирать.
0
Даже если и не стоит острой необходимости поддерживать зоопарк в данный момент (например нужна только виндовая версия), то она может возникнуть позже (для части пользователей понадобится еще Linux и Mac OS например). Если приложение не очень завязано на системную часть, то теоретически перенос состоит в перекомпиляции приложения;)
0
Поклонники .net минусуют, не любят тут правду :))
-1
НЛО прилетело и опубликовало эту надпись здесь
Передавать названия методов в виде строк лучше? Помоему это пипец какой-то.
+3
Сразу оговорюсь, что я против такой реализации ничего не имею.
Но синтаксис и правда выглядит не лучшим образом.
Возможно на это были причины, но почему сигналы и слоты строками задаются? Или я что-то недопонял?
Но синтаксис и правда выглядит не лучшим образом.
Возможно на это были причины, но почему сигналы и слоты строками задаются? Или я что-то недопонял?
0
на сях не строки… на пайтоне почему бы и не использовать строки?
0
Значит вот эта фраза ввела меня в заблуждение:
Фактически это для меня прозвучало как «или то же самое в форме для C++:»
Т.е. я ошибся? Или далее идёт строка на Си++, которая таки использует строки внутри макросов SIGNAL/SLOT?
или то же самое в форме для C++ (привыкайте к форме для Python, я буду использовать именно ее):
Фактически это для меня прозвучало как «или то же самое в форме для C++:»
Т.е. я ошибся? Или далее идёт строка на Си++, которая таки использует строки внутри макросов SIGNAL/SLOT?
0
Строки, строки, что по-вашему делают макросы SLOT() и SIGNAL()?
0
НЛО прилетело и опубликовало эту надпись здесь
Tk и его дополнения в виде Tix и тому подобное…
0
Если вы посомтрите единственную русскоязычную… и то переводную книгу по Qt4, то вы увидите там такойже пример… но конечно на приплюснутых сях… это я к тому что тут ещё всё номрально, а там весь код такой…
0
НЛО прилетело и опубликовало эту надпись здесь
не хочу инициировать холивар, просто скажу свое мнение по поводу наворотов и сложностей в сях. Я не спорю что навернуто там немало, но благодаря данным наворотам на C++/Qt можно писать достаточно требовательные к скорости программы (на гребнутом Эльбрусе под МСВС у нас работал комплекс анализа видеоизображений на Qt3).
0
И что вам тут не нравится? По-моему Qtшная идея о сущности сигналов/слотов — очень удачна, и обработчики вешать удобно. С другой стороны пример выше, полностью соответствует тому, как это будет на плюсах. Python же обладает более продвинутыми возможностями (рантайм), и я думаю что Ривербанк зря не придумал, как строку выше упростить.
-1
Подскажите какой-нить редактор, который будет подсказывать свойства объектов на манер vs, чтобы я написал slider. а он выкинул список с его свойствами setRange, setValue и т.д…
0
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Я в питоне новичок,
Вот меня что интерисует… мне нужно по нажатию на кнопку чтобы обновлялось значение у label'а… я пишу так:
Qt.QObject.connect(button,Qt.SIGNAL(«clicked()»),label.setText(refresh()))
т.е. функция refresh() возвращает строку, которую и надо установить в значение, но как я понял так писать нельзя (функция запрашивается при первом запуске, а потом подставляется значение из первого запроса).
Вопрос: а как писать можно?)
Вот меня что интерисует… мне нужно по нажатию на кнопку чтобы обновлялось значение у label'а… я пишу так:
Qt.QObject.connect(button,Qt.SIGNAL(«clicked()»),label.setText(refresh()))
т.е. функция refresh() возвращает строку, которую и надо установить в значение, но как я понял так писать нельзя (функция запрашивается при первом запуске, а потом подставляется значение из первого запроса).
Вопрос: а как писать можно?)
0
Я в PyQt4 не силён, в отличие от автора, поэтому знаю только самый простой способ:
def updateLabel():
label.setText(refresh())
Qt.QObject.connect(button,Qt.SIGNAL(«clicked()»),updateLabel)
P.S. наверное можно как-то через lambda
def updateLabel():
label.setText(refresh())
Qt.QObject.connect(button,Qt.SIGNAL(«clicked()»),updateLabel)
P.S. наверное можно как-то через lambda
+2
НЛО прилетело и опубликовало эту надпись здесь
люблю когда ставят ссылку на первую часть во второй и не ленятся и ставят в первой части на вторую и последующие.
Другими словами люблю оглавления :)
Другими словами люблю оглавления :)
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Программирование на PyQt4. Часть 2