2016-04-19 18 views
0

まず、私の質問はAccessing GUI elements from outside the GUI classに非常に似ていることを述べたいと思います。しかし、私はpyQtでnewbyですので、私はいくつかの助けをしたいと思います。PyQt:クラス外の要素にアクセスする

# -*- coding: utf-8 -*- 

from PyQt4 import QtGui, QtCore 
import sys 
import design 

class ExampleApp(QtGui.QMainWindow, design.Ui_MainWindow): 
    def __init__(self, parent=None): 
     super(ExampleApp, self).__init__(parent) 
     self.setupUi(self) 
     self.pushButton.clicked.connect(self.button_function) 

    def button_function(self): 
     self.lineEdit.setText('results') 

def main(): 
    app = QtGui.QApplication(sys.argv) 
    form = ExampleApp() 
    form.show() 
    app.exec_()   

if __name__ == '__main__': 
    main()  

これまでのところ、とても良い:

は私がメインクラスにインポートされたQt Designerの

# -*- coding: utf-8 -*- 

from PyQt4 import QtCore, QtGui 

try: 
    _fromUtf8 = QtCore.QString.fromUtf8 
except AttributeError: 
    def _fromUtf8(s): 
     return s 

try: 
    _encoding = QtGui.QApplication.UnicodeUTF8 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig, _encoding) 
except AttributeError: 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig) 

class Ui_MainWindow(object): 
    def setupUi(self, MainWindow): 
     MainWindow.setObjectName(_fromUtf8("MainWindow")) 
     MainWindow.resize(150, 94) 
     self.centralwidget = QtGui.QWidget(MainWindow) 
     self.centralwidget.setObjectName(_fromUtf8("centralwidget")) 
     self.lineEdit = QtGui.QLineEdit(self.centralwidget) 
     self.lineEdit.setGeometry(QtCore.QRect(20, 10, 113, 27)) 
     self.lineEdit.setObjectName(_fromUtf8("lineEdit")) 
     self.pushButton = QtGui.QPushButton(self.centralwidget) 
     self.pushButton.setGeometry(QtCore.QRect(30, 40, 85, 27)) 
     self.pushButton.setObjectName(_fromUtf8("pushButton")) 
     MainWindow.setCentralWidget(self.centralwidget) 
     self.statusbar = QtGui.QStatusBar(MainWindow) 
     self.statusbar.setObjectName(_fromUtf8("statusbar")) 
     MainWindow.setStatusBar(self.statusbar) 

     self.retranslateUi(MainWindow) 
     QtCore.QMetaObject.connectSlotsByName(MainWindow) 

    def retranslateUi(self, MainWindow): 
     MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None)) 
     self.pushButton.setText(_translate("MainWindow", "PushButton", None)) 

からエクスポートdesign.pyファイルを、持っています。私はpushButtonを押すウィンドウを作成し、editLineにメッセージが表示されます。

これは私が達成したいものです:私は押しボタンクラス(簡単)、および(ハード)edilTLine にメッセージを配信するために、その関数の外の機能をトリガします。このようなもの:

​​

いずれかの考えがあります。

答えて

1

これはこれは私が尋ねたまさにです

def button_function(self): 
     calculations(self) 

def calculations(obj): 
    obj.lineEdit.setText('results') 
+0

を必要とするものです。あなたよりもずっと。 – user3060854

関連する問題