2013-11-22 44 views
0

我正在學習PyQt4並編寫了一個簡單的表達式計算器。我很難調試我的init函數(self.connect .....)的倒數第二行。 Python返回'語法錯誤',但我不能發現問題。我會很感激你提供的任何幫助。我在Ubuntu 13.10 Linux 64位上使用Python 2.7.6。我知道空格式的格式稍微偏離了,這是我剪切和粘貼的人工產物,但代碼完全正確,因爲我正在運行它。PyQt4 Python Gui編碼:請求幫助調試語法錯誤

<pre> <code> 
from __future__ import division 
import sys 
from math import * 
from PyQt4.QtCore import * 
from PyQt4.QtGui import * 

class Form(QDialog): 
def __init__(self, parent=None): 
    super(Form, self).__init__(tparent) 
    self.browser = QTextBrowser() 
    self.lineedit = QLineEdit("Type an epression and press enter") 
    self.lineedit.selectAll() 
    layout = QVBoxLayout() 
    layout.addWidget(self.browser) 
    layout.addWidget(self.lineedit) 
    self.setLayout(layout) 
    self.lineedit(self.setFocus() 
    self.connect(self.lineedit, SIGNAL("returnPressed()"),self.updateUi) 
    self.setWindowTitle("Calculate") 

def updateUI(self): 
    try: 
     text = unicode(self.lineedit.text()) 
     self.browser.append("%s = <b>%s</b>" % (text, eval(text))) 
    except: 
     self.browser.append("<font color=red>%s is invalid!</font>" % text) 

app = QApplication(sys.argv) 
form = Form() 
form.show() 
app.exec_() 

回答

0

你錯過了上述

self.lineedit(self.setFocus()) 
self.connect(self.lineedit, SIGNAL("returnPressed()"),self.updateUi) 
+0

從線密切括號謝謝!大聲笑!這是愚蠢的東西總是讓我! 「慢下來快速的岡薩雷斯!」我的小學數學老師過去常常對我大吼一聲。猜猜她是對的。 Muchos Gracias,高級Rawrgulmuffins! –

+0

不客氣,我這樣做了太多次數。 – AlexLordThorsen

+0

@ user2966876:你在用什麼IDE?你應該使用語法突出顯示來告訴你你的錯誤在哪裏。 – Falmarri