чиститься строка (а точнее lineEdit) в калькуляторе после нажатия на другую кнопку. Заранее спасибо!
При создание калькулятора на python (графического) возникла проблема.
При повторном нажатии на ту же самую кнопку (допустим ноль) то строка очищалось и выводило опять 0.
Так же и случалось если ввести 2 цифры первая стирается а 2 появляется на месте 1 вот этот код:
from PySide import QtCore, QtGui
import sys
from ui import Ui_Dialog
#Creat application
app = QtGui.QApplication(sys.argv)
#Creat from Ui and init UI
Dialog = QtGui.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
#hook logic
def numbers_logic():
def bp():
ui.lineEdit.setText( "0" )
ui.pushButton_10.clicked.connect(bp)
def bp2():
ui.lineEdit.setText( "1" )
ui.pushButton.clicked.connect(bp2)
def bp3():
ui.lineEdit.setText( "2" )
ui.pushButton_2.clicked.connect(bp3)
def bp4():
ui.lineEdit.setText( "3" )
ui.pushButton_3.clicked.connect(bp4)
def bp5():
ui.lineEdit.setText( "4" )
ui.pushButton_4.clicked.connect(bp5)
def bp6():
ui.lineEdit.setText( "5" )
ui.pushButton_5.clicked.connect(bp6)
numbers_logic()
#Run mane loop
sys.exit(app.exec_())
"""
Ответы (1 шт):
Автор решения: Euird
→ Ссылка
Решение вопроса, как написал @gil9red, заключается в замене строки
ui.lineEdit.setText("0") на text = ui.lineEdit.text() + "0"
и ui.lineEdit.setText(text), так как setText очищает предыдущий текст.