2016-09-02 78 views
-1

我在一個python文件(sales.py)中有以下代碼,並希望在單獨文件(control.py)的QLineEdit中顯示腳本計算結果。PyQt QLineEdit從單獨的.py文件中獲取值

所有line_edit.setText(def),line_edit.dispayText(def),line_edit.setText(小計)都不起作用。任何想法,我怎麼能做到這一點?

在此先感謝您的任何建議。

#sales py 

def main() : 
    total() 

def total() : 

    totals = { "quantity" : 4 , "price" : 1.5} 

    total_quant = totals [ "quantity" ] 
    total_price = totals [ "price" ] 

    subtotal = str(total_quant * total_price) 

    return subtotal 


main() 

-------------- 

#the below is not working 
#controls.py 

from sales import * 
import sys 
from PyQt4 import QtGui, QtCore 

class Example(QtGui.QWidget): 

    def __init__(self): 
     super(Example, self).__init__() 

     self.initUI() 


    def initUI(self): 

     q_le = QtGui.QLineEdit(self) 
     q_le.move (50,50) 
     q_le.setText(total()) 

     self.setGeometry(300, 300, 250, 150) 
     self.setWindowTitle('Line Edit')  
     self.show() 

def main(): 

    app = QtGui.QApplication(sys.argv) 
    ex = Example() 
    sys.exit(app.exec_()) 


if __name__ == '__main__': 
    main() 
+0

此代碼非常零碎,甚至不知道如何開始修復它。但是兩個直接的問題脫穎而出。 「小計」是「總計」功能的本地資源,無法導入。 'line_edit'永遠不會被定義。你似乎在嘗試使用PyQT,但根本沒有調用它? – strubbly

+0

strubbty:感謝您分析這一點的時間,並對分段代碼帶來的不便表示歉意。請參閱上面的改進。我想要的是從一個文件中獲取值並將其顯示在另一個文件的行中。 – rainer

+0

你需要發佈完整的錯誤信息。你的'initUI(self)'方法使用* undefined *的'total'變量。也許你打算調用'total()'函數(即'q_le.setText(sales.total())')? – ray

回答

0

在開始的時候我有我的懷疑,我在腦子裏 - 從一個PY文件得到一個腳本的結果,而在另一個PY文件的QLineEdit的顯示它 - 是不可能獲得成功。在更有經驗的開發人員的幫助下,解決方案變得非常簡單。

事實上,我的查詢是個人學習項目的一部分,也就是將一個較大的腳本細分爲更小的部分,保存在單獨的文件中。

我已經更新了代碼,以防其他人面臨類似的問題。