2014-09-01 49 views
0

我已經創建了一個文本框,並且想要從文本框中複製所有內容,並通過按鈕粘貼。PyQT4 Howto通過按鈕打印文本框內容到控制檯

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_Form(object): 
    def setupUi(self, Form): 
     Form.setObjectName(_fromUtf8("Form")) 
     Form.resize(943, 655) 
     self.textEdit = Qsci.QsciScintilla(Form) 
     self.textEdit.setGeometry(QtCore.QRect(10, 10, 861, 461)) 
     self.textEdit.setToolTip(_fromUtf8("")) 
     self.textEdit.setWhatsThis(_fromUtf8("")) 
     self.textEdit.setStyleSheet(_fromUtf8("")) 
     self.textEdit.setFrameShape(QtGui.QFrame.StyledPanel) 
     self.textEdit.setFrameShadow(QtGui.QFrame.Plain) 
     self.textEdit.setObjectName(_fromUtf8("textEdit")) 
     self.pushButton = QtGui.QPushButton(Form) 
     self.pushButton.setGeometry(QtCore.QRect(530, 570, 93, 28)) 
     self.pushButton.setObjectName(_fromUtf8("pushButton")) 

     self.retranslateUi(Form) 
     QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.textEdit.selectAll) 
     QtCore.QMetaObject.connectSlotsByName(Form) 

    def retranslateUi(self, Form): 
     Form.setWindowTitle(_translate("Form", "Form", None)) 
     self.pushButton.setText(_translate("Form", "run", None)) 

from PyQt4 import Qsci 

if __name__ == "__main__": 
    import sys 
    app = QtGui.QApplication(sys.argv) 
    Form = QtGui.QWidget() 
    ui = Ui_Form() 
    ui.setupUi(Form) 
    Form.show() 
    sys.exit(app.exec_()) 

我basicly希望有按鈕就通過業務通訊安慰打印「文本框的內容。

like so 

self.pushButton.setText(_translate("Form", "run", None)) 
self.pushButton.clicked.connect(self.Paste) 

def Paste(self): 
    print "content" 

我有很多嘗試,但沒有工作等。

def Paste(self): 
    x = QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.textEdit.selectAll) 
    print x 

回答

0

爲什麼你在您的回撥形式信號中重複連接信號?

無論如何,中的文本框,我讀的文檔是用QString QsciScintilla::text ( ) const。輸出到控制檯,你只需調用這個方法;

def Paste (self): 
    print self.textEdit.text()