插件QGIS错误“QTextEdit.setPlainText(QString):没有足够的参数”

时间:2014-01-01 09:24:30

标签: python plugins qgis

我尝试制作save as按钮但是当我尝试在我的目录中保存文件时出现此错误消息(我想以文本格式(.txt或.doc)保存我的文件)

File "C:\Users\Mr.Pakde/.qgis2/python/plugins\condition\conditiondialog.py", line 80, in saveAs
        self._save( _filename )
    File "C:\Users\Mr.Pakde/.qgis2/python/plugins\condition\conditiondialog.py", line 68, in _save
        f.write( 'Rekomendasi :' + str(self.ui.textRec1.setPlainText() ) )
    TypeError: QTextEdit.setPlainText(QString): not enough arguments

这是代码:

Recomen = self.ui.btnRec1
QtCore.QObject.connect(Recomen, QtCore.SIGNAL('clicked()'),self.Compare1)   
Smpan = self.ui.btnSave
QtCore.QObject.connect(Smpan, QtCore.SIGNAL('clicked()'),self.saveAs)       

def Compare1(self):
    input1 = self.ui.lineInput1.text()
    input2 = self.ui.lineInput2.text()
    compare = ''
    if input1 == input2:
        compare = 'Data dapat digunakam'
    else:
        compare = 'Data tidak cocok'
    self.ui.textRec1.setPlainText(compare)

def _save(self, simpan):        
    f = open( simpan, 'w' )
    f.write( 'Input 1 :' + str(self.ui.lineInput1.text()) ) 
    f.write( 'Input 2 :' + str(self.ui.lineInput2.text()) )
    f.write( 'Rekomendasi :' + str(self.ui.textRec1.setPlainText()) )       
    f.close()
def savefile(self):
    if self.simpan:
          self._save( "%s" % self.simpan )
    else:
          self.saveAs()

def saveAs(self):
    tulis = QtGui.QFileDialog(self).getSaveFileName()
    if tulis !="":
        _filename = "%s" % tulis
        self._save( _filename )

2 个答案:

答案 0 :(得分:1)

您需要使用toPlainText方法从文本编辑中获取文本:

    f.write('Rekomendasi :' + str(self.ui.textRec1.toPlainText()))

答案 1 :(得分:0)

看起来您缺少代码,因为错误消息引用了第80行。但错误 消息也指

f.write( 'Rekomendasi :' + str(self.ui.textRec1.setPlainText()) ). 

根据文档.setPlainText需要一个QString来输入。 http://qt-project.org/doc/qt-4.8/qtextedit.html#plainText-prop