[Qt-interest] Inserting a QTextBlock without inserting a newline
d3fault
d3faultdotxbe at gmail.com
Mon Feb 28 10:30:59 CET 2011
Hi all,
suppose I want to have a custom QTextEdit with foldable words. I want to
have the functionality to be able to fold every word on a single line
individually. They fold when they are clicked on and become a plus (+) or
something similar/arbitrary (which, when clicked on again, unfolds the text
back to the original word). After looking through
basetexteditor.cpp<http://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/plugins/texteditor/basetexteditor.cpp>(the
source code that Qt Creator uses to fold text in comments etc), it
appears as if the route to go is to put whatever text I want to fold in a
QTextBlock. I should also note that I am putting individual spaces into
their own QTextBlock's to keep things organized. However, consider the
following code:
void MyCustomTextEdit::keyPressEvent ( QKeyEvent * event )
{
if(!(event->key() == Qt::Key_Space))
{
m_Cursor->insertText(event->text());
}
else //event->key() == Qt::Key_Space
{
QTextBlockFormat qtbf;
QTextFormat::PageBreakFlags pbf(QTextFormat::PageBreak_AlwaysAfter);
//I've also tried AlwaysBefore here. didn't work either.
qtbf.setPageBreakPolicy(pbf);
qtbf.setNonBreakableLines(true); //also tried false here. didn't
work either
m_Cursor->insertBlock(qtbf); //right here a newline is inserted into
my QTextEdit
m_Cursor->insertText(" ");
m_Cursor->insertBlock(qtbf); //and again here
}
}
when running, this is the output:
word1
word2
word3
word4
word5
i want it to be like this:
word1 word2 word3 word4 word5
Once I get each of those words into their own QTextBlock, I should have no
problem getting them to fold/unfold individually when clicked. I am not
asking how to fold/unfold them, I'm pretty sure I can figure that part out
myself.
Thanks,
d3fault
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20110228/6ad4c632/attachment.html
More information about the Qt-interest-old
mailing list