Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » почему не получается привязать слот к сигналу из другого класса? [RSS Feed]

#1 Фев. 28, 2011 13:22:22

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

почему не получается привязать слот к сигналу из другого класса?

python 3, pyqt4

например вот так:

class test:
def __init__(self):
self.work = Work(self)
self.connect(self.ui.pushButton_start_1,
QtCore.SIGNAL('clicked()'),
self.work.parse)
self.work.parse не вызывается
а если создать слот в этом классе и написать self.test.parse() - слот срабатывает нормально и может уже вызвать self.work.parse()



Офлайн

#2 Фев. 28, 2011 14:08:27

Борисенков Сергей
От:
Зарегистрирован: 2011-01-11
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

почему не получается привязать слот к сигналу из другого класса?

Может так:

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

class Work(object):
def __init__(self,parent):
self.parent=parent
def parse(self):
print 1, self.parent

class test(object):
def __init__(self):
self.work = Work(self)
self.hellobutton = QPushButton("Say 'Hello world!'",None)
self.hellobutton.clicked.connect(self.work.parse)
#self.connect(self.ui.pushButton_start_1,
#QtCore.SIGNAL('clicked()'),
#self.work.parse)
if __name__ == '__main__':
app = QApplication(sys.argv)
t=test()
t.hellobutton.show()
sys.exit(app.exec_())
только непонятно зачем именно такое использование экземпляра другого класса?



Отредактировано (Фев. 28, 2011 14:14:38)

Офлайн

#3 Март 2, 2011 15:27:30

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

почему не получается привязать слот к сигналу из другого класса?

вот именно, что этот слот вызывается не из GUI, а через emit потока



Офлайн

  • Начало
  • » GUI
  • » почему не получается привязать слот к сигналу из другого класса?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version