[solved] return a qstring of a line by lineposition of a plaintextedit
-
thanks, I'll backupdate to that for faster access.
-
Hi,
Thanks @aliks-os, I need the same, but in Python. I don't know how to translate function [my_name].at(i) to Python.Could you suggest for different languange?
-
Hi,
Thanks @aliks-os, I need the same, but in Python. I don't know how to translate function [my_name].at(i) to Python.Could you suggest for different languange?
@Karoluss96 said in [solved] return a qstring of a line by lineposition of a plaintextedit:
translate function [my_name].at(i) to Python
Do you mean the
plainTextEditContents += lines.at(i);
line? -
Yes, I tried some versions... in friday afternoom :-P
Now it looks that:
s=((str(query.record().value("CODE")) + ' - ' + str(query.record().value("STATUS_CONTR")))) a=s.split("\n") for i in a: print (a) #here I need to put # in the end I suppose: self.dlg.plainTextEdit.setPlaceholderText(s) #but I'm not sure
-
Yes, I tried some versions... in friday afternoom :-P
Now it looks that:
s=((str(query.record().value("CODE")) + ' - ' + str(query.record().value("STATUS_CONTR")))) a=s.split("\n") for i in a: print (a) #here I need to put # in the end I suppose: self.dlg.plainTextEdit.setPlaceholderText(s) #but I'm not sure
for i in a: print (a) #here I need to put
Since
i
is now a line ina
, and since the original code appends each line toplainTextEditContents
, did you just tryplainTextEditContents += i
?Actually the effect of the whole C++ loop can be achieved in Python via:
plainTextEditContents = "\n".join(lines);
(which is just the reverse of the earlier
lines = plainTextEditContents.split("\n")
). -
for i in a: print (a) #here I need to put
Since
i
is now a line ina
, and since the original code appends each line toplainTextEditContents
, did you just tryplainTextEditContents += i
?Actually the effect of the whole C++ loop can be achieved in Python via:
plainTextEditContents = "\n".join(lines);
(which is just the reverse of the earlier
lines = plainTextEditContents.split("\n")
).@JonB I'm not sure that command "+=" is possible in Python... but maybe I've done it wrong
-
@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