Форум сайта python.su
Простите, если не туда запостил.
Начал разбираться с QT и затупил страшно.
Вот код
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
class MainAplication(QtGui.QWidget):
def __init__(self, *args):
QtGui.QWidget.__init__(self, *args)
self.setWindowTitle(u"Title")
self.setWindowIcon(QtGui.QIcon("logo.png"))
mainLayout = QtGui.QGridLayout(self)
self.setLayout(mainLayout)
startButton = QtGui.QPushButton(u"Пуск")
mainLayout.addWidget(startButton, 0, 0)
def sayHello(self):
print "Hello Word"
startButton.setDisabled(True)
self.connect(startButton, QtCore.SIGNAL("clicked()"), self.sayHello())
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
aplica = MainAplication()
aplica.show()
sys.exit(app.exec_())
Отредактировано (Ноя. 23, 2009 15:42:18)
Офлайн
topazzНапиши хотя бы в чем проблема, и как решил, чтобы никто на эти грабли не наступал
UPD. Ой заклинило меня что-то, разобрался наконец. Думаю тему можно удалить.
Офлайн
Вот правильный код.
Вынимаем конекшен из функции, правильно указываем слот функцию.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
class MainAplication(QtGui.QWidget):
def __init__(self, *args):
QtGui.QWidget.__init__(self, *args)
self.setWindowTitle(u"Title")
self.setWindowIcon(QtGui.QIcon("logo.png"))
mainLayout = QtGui.QGridLayout(self)
self.setLayout(mainLayout)
self.startButton = QtGui.QPushButton(u"Пуск")
mainLayout.addWidget(self.startButton, 0, 0)
self.connect(self.startButton, QtCore.SIGNAL("clicked()"), self.sayHello)
def sayHello(self):
print "Hello Word"
self.startButton.setDisabled(True)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
aplica = MainAplication()
aplica.show()
sys.exit(app.exec_())
Офлайн
topazzЕсли их накапливается достаточно, то выделяешь в отдельный метод и запускаешь его в __init__ после того, как все слоты и сигналы объявлены, то есть обычно последней строчкой.
Как правильно группировать, конекшены функии?
Офлайн