[solved] return a qstring of a line by lineposition of a plaintextedit
-
@JonB I'm not sure that command "+=" is possible in Python... but maybe I've done it wrong
I'm not sure that command "+=" is possible in Python... but maybe I've done it wrong
It is perfectly legal.
But in any case, read the last bit I've added to my response: you don't need to bother with any loop at all in Python.
-
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
-
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
@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. -
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
-
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
@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. -
@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)
-
@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)
@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.
-
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()
-
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()
-
First, I already showed you that
"\n".join(lines)
does the whole of what thefor
loop does, without any need to build it line by line or look at how may elements are inlines
. 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....
-
-
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()
@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?
-
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
-
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
@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)?
-
I changed plaintextEdit to textEdit, but setplaceholder is the same.
plainText must be a string or list string?
-
I changed plaintextEdit to textEdit, but setplaceholder is the same.
plainText must be a string or list string?
@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 -
I changed plaintextEdit to textEdit, but setplaceholder is the same.
plainText must be a string or list string?
@Karoluss96
What is going on here? Did you read whatsetPlaceHolder()
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?
-
@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@jsulm Thank I've already read it
-
@jsulm Thank I've already read it
@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?
-
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 ')
-
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 ')
This post is deleted! -
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 ')
@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...