日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt文档阅读笔记-TextEdit QML Type官方解析及实例

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt文档阅读笔记-TextEdit QML Type官方解析及实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

官方解析

博主栗子


?

?

官方解析

TextEdit展示了一個可編輯的一塊,是有格式的文本。
他同樣能展示普通文本和富文本:

TextEdit {width: 240text: "<b>Hello</b> <i>World!</i>"font.family: "Helvetica"font.pointSize: 20color: "blue"focus: true}


focus屬性可以設置接收鍵盤的聚焦。
注意:TextEdit是不能實現滾動功能的,他是跟隨光標的,或指定特定的外觀或者感官,舉個例子,下面的代碼實現了跟隨鼠標的彈動滾動的效果:

Flickable {id: flickwidth: 300; height: 200;contentWidth: edit.paintedWidthcontentHeight: edit.paintedHeightclip: truefunction 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: editwidth: flick.widthheight: flick.heightfocus: truewrapMode: TextEdit.WraponCursorRectangleChanged: flick.ensureVisible(cursorRectangle)}}


如果要追求好的視覺比如滑動滾動(使用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官方解析及实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。