2017-11-26 4 views
0

Ich versuche Funktionen auf meine UI zu setzen, die lineEdit hat, wo ich geben könnte und eine SEND Taste, die dann den Text in die textBrowser weiterleiten kann angezeigt werden, aber ich bekomme den Fehler.Attribute: ‚QTextBrowser‘ Objekt hat kein Attribut ‚get‘

Attribute: ‚QTextBrowser‘ Objekt hat kein Attribut ‚get‘

from PyQt4 import QtGui 
import sys 

import design 

class ExampleApp(QtGui.QDialog, design.Ui_Dialog): 
    def __init__(self): 
     super(self.__class__, self).__init__() 
     self.setupUi(self)          
     self.sendButton.clicked.connect(self.send_message) 

    def send_message(self): 
     text_contents = self.lineEdit.get() 
     self.textBrowser.insert(text_contents) 

ich Dinge falsch verwendet haben, korrigieren Sie mich, wo ich Fehler gemacht haben.

design.ui hier:

<?xml version="1.0" encoding="UTF-8"?> 
<ui version="4.0"> 
<class>Dialog</class> 
<widget class="QDialog" name="Dialog"> 
    <property name="geometry"> 
    <rect> 
    <x>0</x> 
    <y>0</y> 
    <width>441</width> 
    <height>531</height> 
    </rect> 
    </property> 
    <property name="minimumSize"> 
    <size> 
    <width>441</width> 
    <height>531</height> 
    </size> 
    </property> 
    <property name="maximumSize"> 
    <size> 
    <width>441</width> 
    <height>531</height> 
    </size> 
    </property> 
    <property name="windowTitle"> 
    <string>Chatbot</string> 
    </property> 
    <property name="windowIcon"> 
    <iconset> 
    <normaloff>../python gui/chatbot.png</normaloff>../python gui/chatbot.png</iconset> 
    </property> 
    <property name="accessibleName"> 
    <string/> 
    </property> 
    <widget class="QPushButton" name="pushButton"> 
    <property name="geometry"> 
    <rect> 
    <x>340</x> 
    <y>450</y> 
    <width>91</width> 
    <height>81</height> 
    </rect> 
    </property> 
    <property name="text"> 
    <string/> 
    </property> 
    <property name="icon"> 
    <iconset> 
    <normaloff>../python gui/mic.png</normaloff>../python gui/mic.png</iconset> 
    </property> 
    <property name="iconSize"> 
    <size> 
    <width>50</width> 
    <height>50</height> 
    </size> 
    </property> 
    <property name="checkable"> 
    <bool>true</bool> 
    </property> 
    <property name="autoRepeat"> 
    <bool>false</bool> 
    </property> 
    </widget> 
    <widget class="QLineEdit" name="lineEdit"> 
    <property name="geometry"> 
    <rect> 
    <x>10</x> 
    <y>450</y> 
    <width>221</width> 
    <height>81</height> 
    </rect> 
    </property> 
    <property name="font"> 
    <font> 
    <pointsize>12</pointsize> 
    <weight>75</weight> 
    <bold>true</bold> 
    </font> 
    </property> 
    </widget> 
    <widget class="QTextBrowser" name="textBrowser"> 
    <property name="geometry"> 
    <rect> 
    <x>0</x> 
    <y>0</y> 
    <width>441</width> 
    <height>441</height> 
    </rect> 
    </property> 
    <property name="font"> 
    <font> 
    <family>MS Shell Dlg 2</family> 
    <pointsize>16</pointsize> 
    <weight>75</weight> 
    <bold>true</bold> 
    </font> 
    </property> 
    </widget> 
    <widget class="QPushButton" name="sendButton"> 
    <property name="geometry"> 
    <rect> 
    <x>240</x> 
    <y>450</y> 
    <width>91</width> 
    <height>81</height> 
    </rect> 
    </property> 
    <property name="font"> 
    <font> 
    <family>Lucida Console</family> 
    <pointsize>16</pointsize> 
    <weight>75</weight> 
    <bold>true</bold> 
    </font> 
    </property> 
    <property name="statusTip"> 
    <string/> 
    </property> 
    <property name="whatsThis"> 
    <string/> 
    </property> 
    <property name="text"> 
    <string>SEND</string> 
    </property> 
    <property name="iconSize"> 
    <size> 
    <width>22</width> 
    <height>22</height> 
    </size> 
    </property> 
    </widget> 
</widget> 
<resources/> 
<connections/> 
</ui> 
+0

wenn self.lineEdit ist ein QLineEdit dann 'ändern get' zu' Text', aber ich denke, es ist ein QTextBrowser es dann ändern, um 'toPlainText' – eyllanesc

+0

@eyllanesc verändert die beiden, aber ich habe den Fehler: Typeerror : QTextEdit.toP lainText(): zu viele Argumente – bestnoob

+0

Sie können Ihre .ui-Datei anzeigen – eyllanesc

Antwort

0

LineEdit ist ein QLineEdit also, wenn Sie den Text bekommen müssen Sie die text() Methode verwenden müssen, und Textbrowser ist ein QTextBrowser und Text hinzufügen müssen Sie verwenden append()

def send_message(self): 
    text_contents = self.lineEdit.text() 
    self.textBrowser.append(text_contents) 
Verwandte Themen