Flickable
の中に入れてTextArea
をスクロール可能にすることはできますが、スクロールを開始しようとするとテキストを選択できません。ただし、selectByMouse
にすると選択できますが、スクロールすることはできません。Qt5.7 QML QtQuick;デスクトップ&Android用のスクロール可能な編集可能なTextAreaを作成する方法
両方行うにはどうすればよいですか?
はここに私のコード例です:これについて移動するための最良の方法だろう何
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQml 2.2
ApplicationWindow
{
visible: true
width: 640
height: 800
function makeText()
{
var s = "click <a href=\"http://qt.io\">here</a>\n"
for (var i = 0; i < 10; ++i)
{
s +=
"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras at tempus felis. Nulla facilisi. Duis quam purus, posuere eu rutrum vel, blandit quis lorem. Cras vitae orci eget lorem luctus cursus quis nec nibh. Sed luctus ligula urna, vel commodo nisi finibus quis. Donec pretium eu purus a porttitor. Nam vehicula nunc quis dui gravida luctus. Morbi fermentum, elit nec ullamcorper accumsan, ex ligula iaculis nisi, id pretium ipsum metus quis quam. In lobortis dignissim semper. Aenean at neque lorem. Maecenas dapibus, arcu a condimentum consequat, mauris enim vehicula nibh, in fringilla quam nisi eu ipsum.</p>"
}
return s
}
Flickable
{
id: flickable
anchors.fill: parent
flickableDirection: Flickable.VerticalFlick
// place a TextArea inside the flickable, you can edit text
// but you cannot select because click & move mouse flicks the view.
TextArea.flickable: TextArea
{
id: textarea
wrapMode: TextArea.Wrap
font.pointSize: 16
textMargin: 16
textFormat: TextEdit.RichText
// can select but kills scrolling
//selectByMouse: true
text: Qt.platform.os + "\n" + makeText()
// try out links
onLinkActivated: Qt.openUrlExternally(link)
}
ScrollBar.vertical: ScrollBar { }
}
}
、および株式答えがあります(があるはずですので!)。
私は、PressAndHoldを使って選択を実行できるアイデアを実装しようとしました。それはうまくいきますが、うんざりしています。これは良いアイデアですか?ここでベストプラクティスは何でしょうか。
もう1つは、Controls.2のポップアップメニュー&貼り付けメニューが表示されないことです。表示されるデスクトップの場合でもそうです。 Aは、Aが(文句を言わないショートカットキーを持っている)のAndroid用&ペーストメニューを切っ
- 方法スクロールを超える選択する:
は私が実装する必要があり、この平均がい
- Android用選択ハンドル
- Android用カーソルポイントハンドル
私はむしろ、これらのどれも、いわゆる、EditArea
コントロールで提供されていないことに気づくでしょう!
ここでの推奨事項/リファレンスの実装または提案。 https://gist.github.com/anonymous/1ad94c9539fdc51d29258f6164f72487
感謝:
はところで、3,4 & 5はControls.1
プロジェクトファイルからも存在しません。
ドキュメントを確認しましたか? http://doc.qt.io/qt-5/qml-qtquick-controls2-textarea.html#flickable-attached-propにはスクロールバーの例が示されています。これは、デスクトップ上で問題を解決することになるでしょう。 – Felix
スクロールバーはありますが、すべてのスタイルでデフォルト/ユニバーサル/マテリアルが消えます。 –