Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. [solved] return a qstring of a line by lineposition of a plaintextedit
Forum Updated to NodeBB v4.3 + New Features

[solved] return a qstring of a line by lineposition of a plaintextedit

Scheduled Pinned Locked Moved General and Desktop
35 Posts 5 Posters 4.8k Views 1 Watching
  • 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.
  • Karoluss96K Karoluss96

    OK, now it looks that:

     s=((str(query.record().value("CODE")) + ' - ' + str(query.record().value("STATUS_CONTR"))))
     a=s.split("\n")
     plainText = self.dlg.textEdit.toPlainText()
     plainText = "\n".join(a)
     for i in a:
          plainText += i
    

    later I nedd to put all text (not only one record) into textEdit so:

    self.dlg.plainTextEdit.setPlaceholderText(plainText)
    

    shows only the last record, so that loop I think, is compulsory

    JonBJ Online
    JonBJ Online
    JonB
    wrote on last edited by JonB
    #11

    @Karoluss96 said in [solved] return a qstring of a line by lineposition of a plaintextedit:

    plainText = "\n".join(a)
    for i in a:
         plainText += i
    

    Please read what I wrote, and take the time to understand what you are doing

    Actually the effect of the whole C++ loop can be achieved in Python via:

    you don't need to bother with any loop at all in Python.

     plainText = self.dlg.textEdit.toPlainText()
     plainText = "\n".join(a)
    

    I don't know what you are intending to do here. The second line completely replaces the value assigned into plainText by the first line.

    1 Reply Last reply
    1
    • Karoluss96K Offline
      Karoluss96K Offline
      Karoluss96
      wrote on last edited by
      #12

      The difference of my point is that i don't want to replace 1st value by 2nd but put it down (next) after the first. Finally I need to see:

      'wait - waiting for data
      protocol - data in protocol
      end_of_contr - the end of control '

      etc.

      This what you send, works good, but the final show must be as above write

      JonBJ 1 Reply Last reply
      0
      • Karoluss96K Karoluss96

        The difference of my point is that i don't want to replace 1st value by 2nd but put it down (next) after the first. Finally I need to see:

        'wait - waiting for data
        protocol - data in protocol
        end_of_contr - the end of control '

        etc.

        This what you send, works good, but the final show must be as above write

        JonBJ Online
        JonBJ Online
        JonB
        wrote on last edited by
        #13

        @Karoluss96
        I don't understand what you are saying. In any case since you know now that += can be used to append a string to a variable I imagine you can use that in place of = where you want to append.

        1 Reply Last reply
        0
        • Karoluss96K Offline
          Karoluss96K Offline
          Karoluss96
          wrote on last edited by
          #14

          @JonB said in [solved] return a qstring of a line by lineposition of a plaintextedit:

          In any case since you know now that += can be used to append a string to a variable I imagine you can use that in place of = where you want to append.

          Changing += to = nothing present.
          Now I have that:

           for i in a:
                         plainText = i
           self.dlg.plainTextEdit.setPlaceholderText(plainText)
          
          JonBJ 1 Reply Last reply
          0
          • Karoluss96K Karoluss96

            @JonB said in [solved] return a qstring of a line by lineposition of a plaintextedit:

            In any case since you know now that += can be used to append a string to a variable I imagine you can use that in place of = where you want to append.

            Changing += to = nothing present.
            Now I have that:

             for i in a:
                           plainText = i
             self.dlg.plainTextEdit.setPlaceholderText(plainText)
            
            JonBJ Online
            JonBJ Online
            JonB
            wrote on last edited by
            #15

            @Karoluss96 said in [solved] return a qstring of a line by lineposition of a plaintextedit:

            Changing += to = nothing present.

            What does this mean?

             for i in a:
                           plainText = i
            

            What do you think this achieves? Please review assigning to versus appending to a variable, this is basic Python stuff. You have all the information you need.

            1 Reply Last reply
            0
            • Karoluss96K Offline
              Karoluss96K Offline
              Karoluss96
              wrote on last edited by
              #16

              I return to "+=".
              Now I try to put from begin in this forum code:
              if (i!=lines.size()-1)
              plainTextEditContents += "\n";

              but I don't know which python function is equivalent for C++'s .size()

              JonBJ jsulmJ 2 Replies Last reply
              0
              • Karoluss96K Karoluss96

                I return to "+=".
                Now I try to put from begin in this forum code:
                if (i!=lines.size()-1)
                plainTextEditContents += "\n";

                but I don't know which python function is equivalent for C++'s .size()

                JonBJ Online
                JonBJ Online
                JonB
                wrote on last edited by
                #17

                @Karoluss96

                • First, I already showed you that "\n".join(lines) does the whole of what the for loop does, without any need to build it line by line or look at how may elements are in lines. Now you return to not using it.

                • If you insist on doing it your slow way, look up what C++ QList::size() returns and then use your knowledge of Python to call its method for returning the number of items in a Python list.

                Sorry, but you are making a mountain out of mole hill for this and not acting properly on suggestions. I leave you to it....

                1 Reply Last reply
                1
                • Karoluss96K Karoluss96

                  I return to "+=".
                  Now I try to put from begin in this forum code:
                  if (i!=lines.size()-1)
                  plainTextEditContents += "\n";

                  but I don't know which python function is equivalent for C++'s .size()

                  jsulmJ Online
                  jsulmJ Online
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #18

                  @Karoluss96 Please take a look at the code you posted and think about what you are doing:

                  plainText = "\n".join(a)
                  for i in a:
                       plainText += i
                  

                  Don't you think that you're doing same thing two times?

                  1 Reply Last reply
                  0
                  • Karoluss96K Offline
                    Karoluss96K Offline
                    Karoluss96
                    wrote on last edited by
                    #19

                    Yes It true :-D , but I still I don't know how to put every line from sql question into text Edit, like I show in one of posts above

                    jsulmJ 1 Reply Last reply
                    0
                    • Karoluss96K Karoluss96

                      Yes It true :-D , but I still I don't know how to put every line from sql question into text Edit, like I show in one of posts above

                      jsulmJ Online
                      jsulmJ Online
                      jsulm
                      Lifetime Qt Champion
                      wrote on last edited by
                      #20

                      @Karoluss96 Do you mean this:

                      self.dlg.plainTextEdit.setPlaceholderText(plainText)
                      

                      ? If so it should work already. Or do you want to set normal text (not placeholder)?

                      1 Reply Last reply
                      1
                      • Karoluss96K Offline
                        Karoluss96K Offline
                        Karoluss96
                        wrote on last edited by
                        #21

                        I changed plaintextEdit to textEdit, but setplaceholder is the same.

                        plainText must be a string or list string?

                        jsulmJ JonBJ 2 Replies Last reply
                        0
                        • Karoluss96K Karoluss96

                          I changed plaintextEdit to textEdit, but setplaceholder is the same.

                          plainText must be a string or list string?

                          jsulmJ Online
                          jsulmJ Online
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by jsulm
                          #22

                          @Karoluss96 Why don't you simply read the documentation?!
                          https://doc.qt.io/qt-6/qtextedit.html#setText
                          https://doc.qt.io/qt-6/qtextedit.html#setPlainText
                          https://doc.qt.io/qt-6/qtextedit.html#placeholderText-prop

                          Karoluss96K 1 Reply Last reply
                          0
                          • Karoluss96K Karoluss96

                            I changed plaintextEdit to textEdit, but setplaceholder is the same.

                            plainText must be a string or list string?

                            JonBJ Online
                            JonBJ Online
                            JonB
                            wrote on last edited by JonB
                            #23

                            @Karoluss96
                            What is going on here? Did you read what setPlaceHolder() does? It will only show anything if the text edit is empty. Is it? Is that what you really want anyway?

                            As @jsulm & I say, why don't you try reading the documentation and make the appropriate calls, rather than guessing and asking about each thing?

                            1 Reply Last reply
                            0
                            • jsulmJ jsulm

                              @Karoluss96 Why don't you simply read the documentation?!
                              https://doc.qt.io/qt-6/qtextedit.html#setText
                              https://doc.qt.io/qt-6/qtextedit.html#setPlainText
                              https://doc.qt.io/qt-6/qtextedit.html#placeholderText-prop

                              Karoluss96K Offline
                              Karoluss96K Offline
                              Karoluss96
                              wrote on last edited by
                              #24

                              @jsulm Thank I've already read it

                              jsulmJ 1 Reply Last reply
                              0
                              • Karoluss96K Karoluss96

                                @jsulm Thank I've already read it

                                jsulmJ Online
                                jsulmJ Online
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #25

                                @Karoluss96 said in [solved] return a qstring of a line by lineposition of a plaintextedit:

                                Thank I've already read it

                                OK, and what is the problem?

                                1 Reply Last reply
                                0
                                • Karoluss96K Offline
                                  Karoluss96K Offline
                                  Karoluss96
                                  wrote on last edited by
                                  #26

                                  In Text Edit I want to see eg.:

                                  'wait - waiting for data
                                  protocol - data in protocol
                                  end_of_contr - the end of control '

                                  each record from sql query must be in new line separatly

                                  not only last line (in example: 'end_of_contr - the end of control ')

                                  jsulmJ JonBJ 3 Replies Last reply
                                  0
                                  • Karoluss96K Karoluss96

                                    In Text Edit I want to see eg.:

                                    'wait - waiting for data
                                    protocol - data in protocol
                                    end_of_contr - the end of control '

                                    each record from sql query must be in new line separatly

                                    not only last line (in example: 'end_of_contr - the end of control ')

                                    jsulmJ Online
                                    jsulmJ Online
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #27
                                    This post is deleted!
                                    1 Reply Last reply
                                    0
                                    • Karoluss96K Karoluss96

                                      In Text Edit I want to see eg.:

                                      'wait - waiting for data
                                      protocol - data in protocol
                                      end_of_contr - the end of control '

                                      each record from sql query must be in new line separatly

                                      not only last line (in example: 'end_of_contr - the end of control ')

                                      jsulmJ Online
                                      jsulmJ Online
                                      jsulm
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #28

                                      @Karoluss96 said in [solved] return a qstring of a line by lineposition of a plaintextedit:

                                      not only last line (in example: 'end_of_contr - the end of control ')

                                      Then what does plainText contain before you add it to the text edit? And what does a contain? Did you do any debugging to find out why only last line is added?

                                      Hint: if you call setText() it REPLACES what was added before...

                                      Karoluss96K 1 Reply Last reply
                                      0
                                      • Karoluss96K Karoluss96

                                        In Text Edit I want to see eg.:

                                        'wait - waiting for data
                                        protocol - data in protocol
                                        end_of_contr - the end of control '

                                        each record from sql query must be in new line separatly

                                        not only last line (in example: 'end_of_contr - the end of control ')

                                        JonBJ Online
                                        JonBJ Online
                                        JonB
                                        wrote on last edited by
                                        #29

                                        @Karoluss96
                                        Have already answered this several times above. Meanwhile, do you really intend to use setPlaceholderText() for what you want? Or do you intend to not answer?

                                        1 Reply Last reply
                                        0
                                        • jsulmJ jsulm

                                          @Karoluss96 said in [solved] return a qstring of a line by lineposition of a plaintextedit:

                                          not only last line (in example: 'end_of_contr - the end of control ')

                                          Then what does plainText contain before you add it to the text edit? And what does a contain? Did you do any debugging to find out why only last line is added?

                                          Hint: if you call setText() it REPLACES what was added before...

                                          Karoluss96K Offline
                                          Karoluss96K Offline
                                          Karoluss96
                                          wrote on last edited by
                                          #30

                                          @jsulm said in [solved] return a qstring of a line by lineposition of a plaintextedit:

                                          Then what does plainText contain before you add it to the text edit? And what does a contain? Did you do any debugging to find out why only last line is added?
                                          Hint: if you call setText() it REPLACES what was added before...

                                          I debuged by print(). Console present all options good, in lines one by one. I removed placeHolderText for setText but as the documentation (and you) says it also replace the lines one-by-one, wheras I need that all lines must stay in textEdit

                                          jsulmJ 1 Reply Last reply
                                          0

                                          • Login

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