2016-09-02 2 views
-1

У меня есть следующий код в одном файле python (sales.py) и вы хотите отобразить результаты вычисления скрипта в QLineEdit отдельного файла (control.py).PyQt QLineEdit получить значение из отдельного .py-файла

Все line_edit.setText (def), line_edit.dispayText (def), line_edit.setText (subtotal) не работают. Любые идеи о том, как я могу это сделать?

Заранее благодарим за любые предложения.

#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

Этот код настолько фрагментарен, что неясно, как его даже исправить. Но выделяются две проблемы. 'subtotal' является локальным для функции' total' и не может быть импортирован. 'line_edit' никогда не определяется. Кажется, вы пытаетесь использовать PyQT, но не называя его вообще? – strubbly

+0

strubbty: спасибо за время, чтобы проанализировать это и извините за неудобство фрагментированного кода. См. Выше улучшения. Хочу, чтобы я намеревался получить значение из одного файла и отобразить его в строке другого файла. – rainer

+0

Вы должны публиковать полные сообщения об ошибках. Ваш 'initUI (self)' метод использует переменную 'total', которая * undefined *. Возможно, вы хотели вместо этого использовать функцию «total()» (т. Е. 'Q_le.setText (sales.total())')? – ray

ответ

0

В начале у меня были сомнения, что я имел в виду - получить результат скрипт из одного файла и ру отображения его в QLineEdit другого файла ру - будет когда-либо работать. С помощью более опытных разработчиков решение оказалось довольно простым.

На самом деле, мои запросы являются частью личного учебного проекта, то есть подразделяют большой скрипт на более мелкие части, сохраняются в отдельных файлах.

Я уже обновил код, если другие сталкиваются с аналогичными проблемами.

Смежные вопросы