Qt文档阅读笔记-TextEdit QML Type官方解析及实例
生活随笔
收集整理的這篇文章主要介紹了
Qt文档阅读笔记-TextEdit QML Type官方解析及实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
?
官方解析
博主栗子
?
?
官方解析
TextEdit展示了一個可編輯的一塊,是有格式的文本。
他同樣能展示普通文本和富文本:
focus屬性可以設置接收鍵盤的聚焦。
注意:TextEdit是不能實現滾動功能的,他是跟隨光標的,或指定特定的外觀或者感官,舉個例子,下面的代碼實現了跟隨鼠標的彈動滾動的效果:
如果要追求好的視覺比如滑動滾動(使用SmootheAnimation),這會產生一個可視化的滾動條,或者是一個褪色的滾動條。
剪切板的功能被cut(),copy()和paste()函數提供,設置selectByMouse可以鼠標選擇要剪切的內容,可以使用selectionStart和selectionEnd以及selectAll()或selectWord()。
可以在光標位置上進行轉換,如使用positionAt()和positionToRectangle()
?
博主栗子
這里把官方的2個例子補充完整,這里要注意,第一個html的富文本在Qt5以上的版本貌似不能成功!
兩個源碼運行截圖如下:
?
程序結構如下:
源碼如下:
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 // }}?
總結
以上是生活随笔為你收集整理的Qt文档阅读笔记-TextEdit QML Type官方解析及实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt文档阅读笔记-关于Q_DECLARE
- 下一篇: Qt文档阅读笔记-QHeaderView