Russian Qt Forum

Qt => Общие вопросы => Тема начата: Igors от Ноябрь 28, 2013, 13:05



Название: PythonQt (проблемы с сигналами)
Отправлено: Igors от Ноябрь 28, 2013, 13:05
Добрый день

Код:
dlg = QDialog()
dlg.setWindowTitle("Hello");

btOk = QPushButton("Ok", dlg)
# dlg.connect(btOk, "clicked()", dlg, "accept()")    # так все норм (1)

btOk.released.connect(dlg.accept)         # так проблемы (2)
# dlg.connect(btOk, SIGNAL("clicked()"), dlg.accept) # так тоже проблемы (3)

dlg.exec_()
# btOk.released.disconnect()  # (4)
del dlg
Если я использую коннект в стиле пытона (2, 3), то диалог НЕ удаляется (без разницы делаю я del в пытоне или удаляю переменную по окончании скрипта). Ну и с повисшим в памяти диалогом быстро крашится при повторных запусках скрипта. Избежать пытон-синтаксиса я не могу т.к. если хоть сигнал, хоть слот определены в пытоне, обычный стиль (1) просто их не видит, коннект не создается. Если же я сделаю disconnect (4) - все норм, деструктор вызывается, но отслеживать все - удовольствие сомнительное.

Может вещь известная, я просто не в курсе?

Спасибо