QTextEdit textEdit
textEdit.resize(100,22)
QHBoxLayout * layout = new QHBoxLayout
layout->addWidget(&textEdit)
最后不要忘了在某处调用setLayout()这个函数,需要视布局而定
【应用场景描述】在编辑框中输入一段文字,用鼠标选取文字,修改工具栏上的字体、字号大小、加粗、斜体等属性,选取的文字即发生相应的变化。【基本概念】在编写包含格式设置的文本编辑程序时,经常用到的Qt类有:QTextEdit、QTextDocument、QTextCharFormat、QTextCursor、QTextBlock、QTextList、QTextFrame、QTextTable、QTextBlockFormat、QTextListFormat、QTextFrameFormat、QTextTableFormat等。刚看到如此多的相关类可能会感到有些混乱,但只要弄清了它们之间的关系,运用起来就会非常方便,Qt已经为用户完成了几乎所有与编辑有关的具体工作,我们所要做的就是运用合适的类,调用合适的函数接口。
首先,任何一个文本编辑器的程序都要用到QTextEdit作为输入文本的容器,在它里面输入的可编辑文本由QTextDocument作为载体,而QTextBlock、QTextList、QTextFrame等则用来表示QTextDocument的元素,也可理解为QTextDocument的不同表现形式,可能为字符串、段落、列表、表格或是图片等。每种元素都有自己的格式,这些格式则用QTextCharFormat、QTextBlockFormat、QTextListFormat、QTextFrameFormat等类来描述与实现。例如,QTextBlockFormat类对应于QTextBlock类,QTextBlock类用于表示一块文本,一般可以理解为一个段落,但并不只指段落,QTextBlockFormat类则用于表示这一块文本的格式,如缩进值、与四边的边距等。
用代码来描述的话可以是这样的:QTextCursorcur=edit->textCursor()//返回当前光标对象cur.setPosition(2,QTextCursor::MoveAnchor)//移到起始位置cur.movePosition(QTextCursor::NoMove,QTextCursor::keepAnchor,3)//移动结束位置cur.select(QTextCursor::WordUnderCursor)//选择edit->setTextCursor(cur)这样就选择了位置是2到4三个字符的文本了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)