python - QTextEdit does not print text -


i using pyqt4 design interface of python program. want print in qtextedit called "answere", not print anything. tested text there (see print(n_text)), , is.

short overview of program: question entered, , program should answer it.

here code:

# -*- coding: utf-8 -*- import sys import database pyqt4 import qtcore, qtgui, uic  class raspi(qtgui.qmainwindow):     def __init__(self):          qtgui.qmainwindow.__init__(self)         self.ui = uic.loadui('main_window.ui')         self.ui.setwindowtitle('fragen den raspi')          self.ui.show()          self.connect(self.ui.ask, qtcore.signal("clicked()"), self.reading)      def reading(self):          txt = str(self.ui.question.text()).lower()         database.base().searching(txt)      def answere(self, text):          n_text = qtcore.qstring(text)         print(n_text)         self.ui.answere.append(n_text)  if __name__=='__main__':      app = qtgui.qapplication(sys.argv)     raspi=raspi()      sys.exit(app.exec_()) 

edit

here second class called database.py.

# -*- coding: utf-8 -*- import sys pyqt4 import qtcore, qtgui, uic import raspi  class base(object):      def searching(self, txt):           if txt == '':             n_txt = "du hast keine frage gestellt"          else:              if txt == ("modell"):                 n_txt = "bei mir handelt es sich um einen raspberry pi b, im allgemeinen werde ich aber auch raspi b genannt."              elif txt == ("hardware"):                 n_txt = "cpu: arm1176jzf-s\narbeitsspeicher: 512mb\ngpu: broadcom dual core videocore iv, opengl-es 1.1/2.0, full hd 1080p30\naudio: hdmi (digital); 3,5-mm-klinkenstecker (analog)\nnetzwerk: 10/100-mbit-ethernet\nstromversorgung: 5v;micro-usb-anschluss (micro-usb-b)\nsonstiges: 2x usb"              elif txt == ("software"):                 n_txt = "ich laufe auf einer abwandlung von gnu/linux."              elif txt == ("passwort"):                 n_txt = "warum sollte ich dir mein passwort verraten?\ndas standart-passwort ist allerdings raspberry."              elif txt == ("start"):                 n_txt = "um das userinterface zu starten, gib einfach im terminal startx ein. ansonsten kann man natürlich auch den terminal selbst benutzen"              elif txt == ("daten") or txt == "gewicht":                 n_txt = "meine größe beträgt 93x63,5x20. mit diesen abmessungen passe ich sogar in einen geldbeutel\nich wiege auch nur 40 gramm."              elif txt == "konkurenz" or txt == "alternative":                 n_txt = "es gibt noch den banana pi, das pandaboard, das cubieboard und viele mehr."              elif txt == "geschichte" or txt == "lebenslauf":                  n_txt = "der raspberry pi wurde von der britschischen raspberry pi foundation entwickelt. er kam anfang 2015 auf den markt; sein großer markterfolg wird teils als revival des bis dahin weitgehend bedeutungslosen heimcomputers zum programmieren und experimentieren angesehen."              elif txt == "hintergrund":                  n_txt = "der raspi wurde von der stiftung mit dem ziel entwickelt, jungen menschen den erwerb von programmier- und hardwarekenntnissen zu erleichtern."              elif txt == "nutzen":                 n_txt = "man kann einen raspi wie einen ganz normalen computer nutzen, das einzige worauf zu achten ist, dass die hardware weniger leistung bringt. sie ist vergleichbar mit einem rechner von 1990.\nhier noch ein paar nutzungsbeispiele:\n heimserver\ntragbarer computer\nwetterstation\nusw."              elif txt == "kosten":                 n_txt = "der preis für einen raspberry pi liegt zwischen 20 und 35 usd, dabei kommt es ganz auf das modell und dessen ausstattung an."              else:                 n_txt = "leider kann ich deine frage nicht beantworten."          raspi.raspi().answere(n_txt) 

in base.searching method, have line:

    raspi.raspi().answere(n_txt) 

this create new, temporary, instance of raspi class, deleted once answere() method returns.

what need try keep code in database module separate gui code in raspi module.

the database module should this:

# -*- coding: utf-8 -*-  class base(object):         def searching(self, txt):         if txt == '':             n_txt = "du hast keine frage gestellt"         else:             if txt == ("modell"):             ...         return n_txt 

and raspi module should this:

# -*- coding: utf-8 -*- import sys import database pyqt4 import qtcore, qtgui, uic  class raspi(qtgui.qmainwindow):     def __init__(self):         qtgui.qmainwindow.__init__(self)         self.ui = uic.loadui('main_window.ui')         self.ui.setwindowtitle('fragen den raspi')         self.ui.show()         self.connect(self.ui.ask, qtcore.signal("clicked()"), self.reading)         # keep instance of database         self.db = database.base()      def reading(self)         txt = unicode(self.ui.question.text()).lower()         # answer database         ans = self.db.searching(txt)         # show answer         self.answere(ans)      def answere(self, text):         self.ui.answere.append(text)  if __name__=='__main__':      app = qtgui.qapplication(sys.argv)     raspi = raspi()     sys.exit(app.exec_()) 

Comments

Popular posts from this blog

html - Outlook 2010 Anchor (url/address/link) -

javascript - Why does running this loop 9 times take 100x longer than running it 8 times? -

Getting gateway time-out Rails app with Nginx + Puma running on Digital Ocean -