Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. zu viele Leerzeilen

zu viele Leerzeilen

Scheduled Pinned Locked Moved Solved German
6 Posts 3 Posters 874 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    docjc
    wrote on last edited by
    #1

    moin,

    ich habe folgendes Problem in Python 3.12 im Zusammenspiel mit PyQt6.6 unter Windows:

    Ein Programm arbeitet mehrere Abfragen und gibt die Ausgaben über die print() Funktion
    aus.
    Die Ausgaben werden über stdout abgefangen und mit nachfolgender Funktion über QTextBrowser
    in ein Window ausgegeben

    def append_output(self):
        while not self.queue.empty():
            output = self.queue.get()
            self.queuetofile(output)
            if output:
                cleaned_output = output.rstrip()
                self.ui.textBrowser.append(cleaned_output)
        if self.worker_thread and self.worker_thread.is_alive():
            QTimer.singleShot(100, self.append_output)
    
    • funktioniert auch alles bis auf eine Sache

    Ausgabe von output in die Datei über den Befehl self.queuetofile(output)

    texttexttexttext
    texttexttexttext
    texttexttexttext
    ------------------------------
    __Versionscheck__
    ------------------------------
    texttexttexttext
    texttexttexttext
    texttexttexttext
    ------------------
       __ Sprache __ 
    ------------------
    texttexttexttext
    
    • FERTIG -

    Ausgabe von output auf die screen über QTextBrowser:

    texttexttexttext
    
    texttexttexttext
    
    texttexttexttext
    
    ------------------------------
    
    __Versionscheck__
    
    ------------------------------
    
    texttexttexttext
    
    texttexttexttext
    
    texttexttexttext
    
    ------------------
    
       __ Sprache __
    
    ------------------
    
    texttexttexttext
    
    
       -   FERTIG   -
    

    Mein Problem: wo kommen die Leerzeilen her und wie können die verhindert werden???

    JonBJ 1 Reply Last reply
    0
    • D docjc

      moin,

      ich habe folgendes Problem in Python 3.12 im Zusammenspiel mit PyQt6.6 unter Windows:

      Ein Programm arbeitet mehrere Abfragen und gibt die Ausgaben über die print() Funktion
      aus.
      Die Ausgaben werden über stdout abgefangen und mit nachfolgender Funktion über QTextBrowser
      in ein Window ausgegeben

      def append_output(self):
          while not self.queue.empty():
              output = self.queue.get()
              self.queuetofile(output)
              if output:
                  cleaned_output = output.rstrip()
                  self.ui.textBrowser.append(cleaned_output)
          if self.worker_thread and self.worker_thread.is_alive():
              QTimer.singleShot(100, self.append_output)
      
      • funktioniert auch alles bis auf eine Sache

      Ausgabe von output in die Datei über den Befehl self.queuetofile(output)

      texttexttexttext
      texttexttexttext
      texttexttexttext
      ------------------------------
      __Versionscheck__
      ------------------------------
      texttexttexttext
      texttexttexttext
      texttexttexttext
      ------------------
         __ Sprache __ 
      ------------------
      texttexttexttext
      
      • FERTIG -

      Ausgabe von output auf die screen über QTextBrowser:

      texttexttexttext
      
      texttexttexttext
      
      texttexttexttext
      
      ------------------------------
      
      __Versionscheck__
      
      ------------------------------
      
      texttexttexttext
      
      texttexttexttext
      
      texttexttexttext
      
      ------------------
      
         __ Sprache __
      
      ------------------
      
      texttexttexttext
      
      
         -   FERTIG   -
      

      Mein Problem: wo kommen die Leerzeilen her und wie können die verhindert werden???

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on last edited by
      #2

      @docjc said in zu viele Leerzeilen:

      self.ui.textBrowser.append(cleaned_output)

      https://doc.qt.io/qt-6/qtextedit.html#append

      Appends a new paragraph with text to the end of the text edit.

      "Paragraph" => "Absatz"

      Vielleicht versuchen void QTextEdit::insertPlainText(const QString &text) ?

      Pl45m4P D 3 Replies Last reply
      1
      • JonBJ JonB

        @docjc said in zu viele Leerzeilen:

        self.ui.textBrowser.append(cleaned_output)

        https://doc.qt.io/qt-6/qtextedit.html#append

        Appends a new paragraph with text to the end of the text edit.

        "Paragraph" => "Absatz"

        Vielleicht versuchen void QTextEdit::insertPlainText(const QString &text) ?

        Pl45m4P Offline
        Pl45m4P Offline
        Pl45m4
        wrote on last edited by
        #3

        @JonB said in zu viele Leerzeilen:

        self.ui.textBrowser.append(cleaned_output)

        https://doc.qt.io/qt-6/qtextedit.html#append

        Appends a new paragraph with text to the end of the text edit.

        "Paragraph" => "Absatz"

        @docjc Wie @JonB über die append(...) Funktion sagt, ein Absatz ist ein größerer Zeichenabstand in QTextBrowser als z.B. \n.
        Eine Möglichkeit wäre den gesamten Absatz (= Textblock) zu konstruieren, Zeilen mit newline \n zu trennen und dann am Ende nur einen "Absatz" zum TextBrower hinzuzufügen.


        If debugging is the process of removing software bugs, then programming must be the process of putting them in.

        ~E. W. Dijkstra

        D 1 Reply Last reply
        1
        • Pl45m4P Pl45m4

          @JonB said in zu viele Leerzeilen:

          self.ui.textBrowser.append(cleaned_output)

          https://doc.qt.io/qt-6/qtextedit.html#append

          Appends a new paragraph with text to the end of the text edit.

          "Paragraph" => "Absatz"

          @docjc Wie @JonB über die append(...) Funktion sagt, ein Absatz ist ein größerer Zeichenabstand in QTextBrowser als z.B. \n.
          Eine Möglichkeit wäre den gesamten Absatz (= Textblock) zu konstruieren, Zeilen mit newline \n zu trennen und dann am Ende nur einen "Absatz" zum TextBrower hinzuzufügen.

          D Offline
          D Offline
          docjc
          wrote on last edited by
          #4

          @Pl45m4 Dank schon mal für die Antwort, ich hab noch vergessen hinzuzufügen, dass unter Tkinter alles richt verarbeitet wird.
          Die Idee alles in einen Textblock zu schreiben, damit hab ich angefangen, da aber die Bearbeitung der Aufgaben teilweise viel Zeit benötigt, wäre die Ausgabe lange Zeit tot und es ist nicht zu erkennen, ob die Prozesse noch laufen. Eigentlich wollte ich von Tkinter weg, sieht hat altbacken aus. Den Vorschlag 1 werde ich mir noch mal genauer ansehen.

          1 Reply Last reply
          0
          • JonBJ JonB

            @docjc said in zu viele Leerzeilen:

            self.ui.textBrowser.append(cleaned_output)

            https://doc.qt.io/qt-6/qtextedit.html#append

            Appends a new paragraph with text to the end of the text edit.

            "Paragraph" => "Absatz"

            Vielleicht versuchen void QTextEdit::insertPlainText(const QString &text) ?

            D Offline
            D Offline
            docjc
            wrote on last edited by
            #5

            @JonB Danke für die Antwort.
            Ich werde mal versuchen Deinen Vorschlag 1. zu verstehen, und 2. umzusetzen ;)
            Unter Tkinter funktioniert das ganze.

            1 Reply Last reply
            0
            • JonBJ JonB

              @docjc said in zu viele Leerzeilen:

              self.ui.textBrowser.append(cleaned_output)

              https://doc.qt.io/qt-6/qtextedit.html#append

              Appends a new paragraph with text to the end of the text edit.

              "Paragraph" => "Absatz"

              Vielleicht versuchen void QTextEdit::insertPlainText(const QString &text) ?

              D Offline
              D Offline
              docjc
              wrote on last edited by
              #6

              @JonB das wars, Problem gelöst. Danke!!!

              1 Reply Last reply
              1
              • D docjc has marked this topic as solved on

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved