TextEdit可以用于显示和编辑多行文本,它既可以显示纯文本也可以显示富文本,类似于

Qt中的QTextEdit。

 

TextEdit也有很多的属性和方法,其本身没有边框,和TextInput一样可以使用一个矩形作为其边框。

TextEdit默认为不换行,我们需要将wrapMode设置为TextEdit.Wrap,使它换行。设置clip防止其超出范围。

text属性则表示TextEdit中的文本内容。

 

虽然TextEdit可以显示富文本,但是默认是显示纯文本的,设置属性textFormat为TextEdit.RichText。

 

TextEdit没有实现滚动操作,因此当我们输入的内容超过最底部时就看不到了。

Qt官方给了一个解决方案,需要给TextEdit套一个Flickable。

程序通过监听TextEdit光标矩形属性,当它发生变化时实时改变Flickable的contentX和contentY属性。

以确保显示最新的内容。

ensureVisible是js函数,QML支持在qml文件中加入javascript代码。

 

最后只要给TextEdit设置focus为true,让其获得焦点,一个正常的多行输入框就完成了。

 

---> 文章来源于我的个人博客:fearlazy
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。