Qt文档阅读笔记-TextEdit QML Type官方解析及实例
目錄
?
官方解析
博主栗子
?
?
官方解析
TextEdit展示了一個(gè)可編輯的一塊,是有格式的文本。
他同樣能展示普通文本和富文本:
focus屬性可以設(shè)置接收鍵盤(pán)的聚焦。
注意:TextEdit是不能實(shí)現(xiàn)滾動(dòng)功能的,他是跟隨光標(biāo)的,或指定特定的外觀或者感官,舉個(gè)例子,下面的代碼實(shí)現(xiàn)了跟隨鼠標(biāo)的彈動(dòng)滾動(dòng)的效果:
如果要追求好的視覺(jué)比如滑動(dòng)滾動(dòng)(使用SmootheAnimation),這會(huì)產(chǎn)生一個(gè)可視化的滾動(dòng)條,或者是一個(gè)褪色的滾動(dòng)條。
剪切板的功能被cut(),copy()和paste()函數(shù)提供,設(shè)置selectByMouse可以鼠標(biāo)選擇要剪切的內(nèi)容,可以使用selectionStart和selectionEnd以及selectAll()或selectWord()。
可以在光標(biāo)位置上進(jìn)行轉(zhuǎn)換,如使用positionAt()和positionToRectangle()
?
博主栗子
這里把官方的2個(gè)例子補(bǔ)充完整,這里要注意,第一個(gè)html的富文本在Qt5以上的版本貌似不能成功!
兩個(gè)源碼運(yùn)行截圖如下:
?
程序結(jié)構(gòu)如下:
源碼如下:
main.cpp
#include <QApplication> #include <QQmlApplicationEngine> #include <QDebug>int main(int argc, char *argv[]) {QApplication a(argc, argv);QQmlApplicationEngine engine;engine.load(QUrl("qrc:/main.qml"));if(engine.rootObjects().isEmpty()){qDebug() << "engine load failed!";return -1;}return a.exec(); }main.qml
import QtQuick 2.7 import QtQuick.Controls 2.0ApplicationWindow {visible: truewidth: 800height: 600TextEdit {width: 240text: "Hello World!"font.family: "Helvetica"font.pointSize: 20color: "blue"focus: true}// Flickable {// id: flick // width: 300 // height: 200 // contentWidth: edit.paintedWidth // contentHeight: edit.paintedHeight // clip: true// function ensureVisible(r){// if(contentX >= r.x) // contentX = r.x // else if(contentX + width <= r.x + r.width) // contentX = r.x + r.width - width // if(contentY >= r.y) // contentY = r.y; // else if(contentY+height <= r.y+r.height) // contentY = r.y+r.height - height; // }// TextEdit {// id: edit // width: flick.width // height: flick.height // focus: true // wrapMode: TextEdit.Wrap // onCursorRectangleChanged: flick.ensureVisible(cursorRectangle) // }// anchors.centerIn: parent // }}?
總結(jié)
以上是生活随笔為你收集整理的Qt文档阅读笔记-TextEdit QML Type官方解析及实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Qt文档阅读笔记-关于Q_DECLARE
- 下一篇: Qt文档阅读笔记-QHeaderView