Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 9, 2017 21:33:18

rick
Зарегистрирован: 2017-06-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обращение к объектам

Создал шаблон в PyQt, сгенерировал код питон импортирую его в основной файл. Как мне обратиться к объектам, например мне надо из lineEdit взять число в переменную ‘a’ в типе данных int. Произвести операции и в текстовом формате вывести значения в textEdit, при чем в textEdit выводит почему то только одну надпись, а должен в зависимости от количества итераций.

     def MyFunction(self):
        a = int(self.ui.lineEdit.text())
        b = float(self.ui.lineEdit_2.text())
        c = int(self.ui.lineEdit_3.text())
        d = int(self.ui.lineEdit_3.text())
        i=0
        if d<c:
            self.ui.textEdit.setText('Начислений нет, сумма за неполный период= '+str(a))
        elif d>=c:
            e=a
            n=d/c  # Сколько раз будет происходить начисление процентов за весь срок содержания суммы
            while i<n:  # Лимит
                e+=(a*b/100);i+=1  # Начисление процентов
                self.ui.textEdit.setText('Сумма за ' + str(i) + ' начисление = ' + str(e) + ' руб.')
                if i==n:
                    self.ui.textEdit.setText('Разница "внесение-начисление"= ' + str(int(e - a)) + ' руб.')
Выводит получается только эту, последнюю строку
elif i==n:
self.ui.textEdit.setText('Разница “внесение-начисление”= ‘ + str(int(e - a)) + ’ руб.')
Заранее спасибо.



Находчивый питон проглотил двух разнополых кроликов.

Отредактировано rick (Июнь 9, 2017 22:32:28)

Офлайн

#2 Июнь 9, 2017 22:33:38

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Обращение к объектам

QTextEdit.append()

Офлайн

#3 Июнь 9, 2017 22:41:29

rick
Зарегистрирован: 2017-06-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обращение к объектам

vic57
Спасибо. Но все равно, он как будто не видит блок while и выводит после одной итерации

     def MyFunction(self):
        a = int(self.ui.lineEdit.text())
        b = float(self.ui.lineEdit_2.text())
        c = int(self.ui.lineEdit_3.text())
        d = int(self.ui.lineEdit_3.text())
        i = 0
        if d < c:
            self.ui.textEdit.append('Начислений нет, сумма за неполный период= +str(a)')
        elif d >= c:
            e = a
            n = d/c  # Сколько раз будет происходить начисление процентов за весь срок содержания суммы
            while i < n:  # Лимит
                e += (a*b/100)
                i += 1  # Начисление процентов
                self.ui.textEdit.append('Сумма за ' + str(i) + ' начисление = ' + str(e) + ' руб.')
                if i == n:
                    self.ui.textEdit.append('Разница "внесение-начисление"= ' + str(int(e - a)) + ' руб.')



Находчивый питон проглотил двух разнополых кроликов.

Отредактировано rick (Июнь 9, 2017 23:03:15)

Офлайн

#4 Июнь 9, 2017 23:47:06

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Обращение к объектам

          while i < n:  # Лимит
         print i,n# debug
                e += (a*b/100)
для вычислений надо использовать float

Отредактировано vic57 (Июнь 9, 2017 23:51:50)

Офлайн

#5 Июнь 9, 2017 23:54:05

rick
Зарегистрирован: 2017-06-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обращение к объектам

vic57
Объясни плиз, что за дебаг?
what does it mean? print i,n# debug



Находчивый питон проглотил двух разнополых кроликов.

Отредактировано rick (Июнь 9, 2017 23:55:10)

Офлайн

#6 Июнь 10, 2017 00:14:01

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Обращение к объектам

посмотри в консоли выхлоп

Офлайн

#7 Июнь 10, 2017 02:44:29

rick
Зарегистрирован: 2017-06-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обращение к объектам

vic57
все хорошо, в Run выдает Process finished with exit code 0



Находчивый питон проглотил двух разнополых кроликов.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version