13.01.2016, 04:10, "william.croc...@analog.com" <william.croc...@analog.com>: > On 01/12/2016 07:37 PM, Elvis Stansvik wrote: >> 2016-01-12 15:37 GMT+01:00 Bill Crocker<william.croc...@analog.com>: >>> Hello: >>> >>> Could someone please show me the few lines of code required >>> to add a list *of three elements* to a QTextDocument using low >>> level (i.e QTextBlock, QTextCursor, QTextList, etc.) classes. >> >> This would be one way: > > That is all good stuff. > > I had solved my problem and was going to fess up in the next few hours. > The part I needed was that little itsy-bitsy, under documented function > named add() which is hidden in plain sight at the top of the QTextList > documentation. > > In my own defense, it is not used in qtexthtmlparser.cpp or qtextedit.cpp > which were the fist two stops (Qt 4.8.6) I made looking for answers. > > Also, the documentation (Qt 4.8.6) does not appear to show you how to add the > second item to a list which is not at all like adding the first. > > My application is also a little different. I am parsing my own XML > representation > of a document, and so would not parse the text and then make a second pass > to apply the structure. But I am good now that I know the add() trick.
Hi Bill, You may want to use DOM parser to make things more convenient. If you don't want to use QDom (there a many reasons not to use it), you cat try great PugiXML parser: http://pugixml.org/ > > Thanks. > > Bill > >> #include<QApplication> >> #include<QTextBlock> >> #include<QTextCursor> >> #include<QTextDocument> >> #include<QTextEdit> >> #include<QTextList> >> #include<QTextListFormat> >> >> int main(int argc, char *argv[]) { >> QApplication app(argc, argv); >> >> QTextEdit edit; >> QTextDocument *doc = edit.document(); >> >> // Insert text. >> QTextCursor cursor(doc); >> cursor.insertText("A list of three items:\n"); >> cursor.insertText("One\n"); >> cursor.insertText("Two\n"); >> cursor.insertText("Three"); >> >> // Position cursor on "One". >> cursor.movePosition(QTextCursor::Start); >> cursor.movePosition(QTextCursor::NextBlock); >> >> // Insert list. >> QTextListFormat listFormat; >> listFormat.setStyle(QTextListFormat::ListDisc); >> QTextList *list = cursor.insertList(listFormat); >> >> // Add "Two". >> cursor.movePosition(QTextCursor::NextBlock); >> list->add(cursor.block()); >> >> // Add "Three". >> cursor.movePosition(QTextCursor::NextBlock); >> list->add(cursor.block()); >> >> edit.show(); >> >> return app.exec(); >> } >> >> Regards, >> Elvis >> >>> Thanks. >>> >>> -- >>> Bill >>> _______________________________________________ >>> Interest mailing list >>> Interest@qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest