Russian Qt Forum

Qt => Вопросы новичков => Тема начата: love-song от Март 03, 2012, 15:42



Название: простейшая задачka PyQt
Отправлено: love-song от Март 03, 2012, 15:42
Добрый день требуется чтобы при введении числа в строку "p1" программа в строке "результат" возвращала квадрат введенного числа, а в строку "результат" 2 возвращало куб введенного числа. Пожалуйста объясните доходчиво новичку как к кнопке привязать действия функций и если я задал их не правильно(в чем я не сомневаюсь) как их задать?

from PyQt4 import QtGui, QtCore


class Window(QtGui.QWidget):
    def __init__(self, parent=None):
        super(Window, self).__init__(parent)



        # Set up the widgets.
        p1 = QtGui.QLabel("p1:")
        p1Edit = QtGui.QSpinBox()
        re = QtGui.QLabel("resultat:")
        res = QtGui.QLineEdit()
        re2 = QtGui.QLabel("resultat2:")
        res2 = QtGui.QLineEdit()
        knopka = QtGui.QPushButton("push ME")

       
       
        layout = QtGui.QGridLayout()
        layout.addWidget(p1, 0, 0, 1, 1)
        layout.addWidget(p1Edit, 0, 1, 1, 4)
        layout.addWidget(re, 2, 0, 1, 1)
        layout.addWidget(res, 2, 1, 1, 4)
        layout.addWidget(re2, 3, 0, 1, 1)
        layout.addWidget(res2, 3, 1, 1, 4)
        layout.addWidget(knopka, 4, 0, 1, 1)
        self.setLayout(layout)
        self.setWindowTitle("hz")

 
    def operation(self):
        perem = float(p1.text())
        result = perem**2
        self.res.setText(str(result))
    def operation2(self):
        perem = float(p1.text())
        result = perem**3
        self.res2.setText(str(result))

if __name__ == '__main__':

    import sys

    app = QtGui.QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())


Название: Re: простейшая задачka PyQt
Отправлено: kambala от Март 03, 2012, 19:53
почитай про сигналы-слоты в PyQt - сейчас у тебя на кнопки не навешены действия