Hi All,

It seems that "cleanButton connect" stop to a new expression evaluation in the following code ?

1/ If you comment this connection the program works again !!

2/ If you "reset" with the "cleanButton" something you wrote in the QTextEdit, it cleans it !!



Any track ?


Simon



CODE
=====


from __future__ import division

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


class Ui_MainWindow(QDialog):

    def __init__(self, parent=None):
        super(Ui_MainWindow, self).__init__(parent)
        self.browser = QTextEdit()
self.lineedit = QLineEdit("Enter an expression anf press Enter")
        self.lineedit.selectAll()
        self.cleanButton = QPushButton("Reset")
        layout = QVBoxLayout()
        layout.addWidget(self.browser)
        layout.addWidget(self.lineedit)
        layout.addWidget(self.cleanButton)
        self.setLayout(layout)
        self.lineedit.setFocus()
        self.setWindowTitle("Calculator")

#???????????????????????????????????????????

self.connect(self.cleanButton, SIGNAL("clicked()"), self.clearForm)

 #??????????????????????????????????????????

    def clearForm(self):
        self.browser.clear()


class App(object):
    """ Run Calculator's GUI, main controller class (MAIN CONTROLER)"""

    def __init__(self):
""" Creation of Calculator's GUI and connexion with user events """

        # Creation of the Calculator's GUI:
        self.mainwindow = Ui_MainWindow()

self.mainwindow.connect(self.mainwindow.lineedit, SIGNAL ("returnPressed()"), self.updateUi)

    def updateUi(self):
        try:
            text = unicode(self.mainwindow.lineedit.text())
self.mainwindow.browser.append("%s = <b>%s<b><br>" % (text, eval(text)) )
            self.mainwindow.lineedit.selectAll()
        except:
self.mainwindow.browser.append(('<font color="red">%s is wrong<font><br>' %text))
            self.mainwindow.lineedit.selectAll()


if __name__ == "__main__":
    app = QApplication(sys.argv)

    # init GUI
    calc = App()

    # display of GUI
    calc.mainwindow.show()

    app.exec_()





_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to