Rudium
И вопрос, почему ты не увидел замедления работы программы, когда представил как она работает до того, как написал ее?
Потому что на питоне это оказалось не так, как на C++. Неужели ты думаешь, что если там называется Qt и здесь называется PyQt - то оно реализовано одинаково?
Rudium
Ты ведь можешь обойтись без всех этих UML, кодирования и другой фигни для новичков?
Раньше не было UML, ты думаешь, из-за этого не писали программ каких-либо? Были блок-схемы обычные, это всё рисовалось на миллиметровке.
Rudium
И еще один вопрос: сколько нужно потоков мышления, чтобы представить как работает система управления космическим кораблем “Буран”, не приступая к ее проектированию?
А проектирование, по-твоему, из космоса берётся? Сначала человек представляет часть, потом рисует её. Но даже это не значит, что он не может представить все части без их зарисовки. Просто делают зарисовку, чтобы потом не представлять всё повторно. Когда оно нарисовано, голова свободна для новых представлений. Если же у тебя не нарисовано, то ты должен каждый раз всё это воспроизводить. И проблема даже не в этом, а в том, что ни о чём другом ты подумать не можешь, так как сознание занято этой информацией.
Ты говоришь “я не представляю, как это, иметь сотню независимых асинхронных точек”. Потому и не представляешь, что никогда одновременно ничего не опрашивал. Значит, пока на таком уровне, типа “здравствуй лошадь первого разбойника, здравствуй первый разбойник, здравствуй лошадь второго разбойника, здравствуй второй разбойник…” и так далее. Нафиг мне таким заниматься? Я уже этот этап прошёл давно.
Rodegast
Да у кнопки должен быть один сигнал и один слот.
Это ты с чего взял, что у кнопки должен быть слот? Кнопка посылает сигнал, дальше кто этот сигнал принимает, она не знает.
Вот тебе пример (скопируешь в консоль)
import sys
from PyQt4 import QtGui, QtCore
class Example(QtGui.QMainWindow):
closeApp = QtCore.pyqtSignal()
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.closeApp.connect(self.close)
self.closeApp.connect(self.print_message)
self.setGeometry(300, 300, 290, 150)
self.setWindowTitle('Emit signal')
self.show()
def mousePressEvent(self, event):
self.closeApp.emit()
def print_message(self):
print('message')
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
main()
Здесь сигнал соединён с двумя слотами. Где он соединяется или разъединяется, этот объект, который его посылает, может знать, а может и не знать. Если мы этот сигнал не внутри создадим, а просто снаружи доставим, уже настроенный, то окно будет знать только, что его можно послать. Сейчас я этот сигнал поставил для общения, через час я другой сигнал поставлю, а окно как просто посылало его, так и будет дальше его просто посылать.
Rudium
P.S Спасибо за хорошее настроение, надеюсь что ты не перейдешь полностью на C++ и не покинешь нас.
Зачем куда-то переходить, если можно пользоваться всем сразу? Однопоточному мозгу этого не понять, конечно. :)