【问题标题】:setting wrapMode property of Text in ScrollView在 ScrollView 中设置 Text 的 wrapMode 属性
【发布时间】:2015-06-09 16:45:48
【问题描述】:

我这样写 QML:

import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1

import App 0.1

ApplicationWindow {
    id: appWindow
    visible: true
    width: 300
    height: 500

    ColumnLayout {
        ScrollView {
            ColumnLayout {
                Text {
                    width: 250
                    text: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
                    wrapMode: Text.WrapAnywhere
                }
            }
        }
    }

    AppController {
        id: controller
    }
}

这是视觉效果:

我想将Text 包裹在ScrollView 中。我尝试了许多模式,但未能达到预期的效果。我该怎么做?

【问题讨论】:

    标签: qt qml qt5 qtquick2


    【解决方案1】:

    只需删除ColumnLayout,这里没有必要。这对我有用(如果这是你要找的):

    import QtQuick 2.2
    import QtQuick.Controls 1.3
    
    ApplicationWindow {
      id: appWindow
      visible: true
      width: 300
      height: 500
    
      ScrollView {
        anchors.fill: parent
    
        Column {
          Repeater {
            model: 10
            delegate: Text {
              width: appWindow.width - 50
              text: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
              wrapMode: Text.WrapAnywhere
            }
          }
        }
      }
    }
    

    尽可能避免使用固定尺寸。在您的情况下,Text 不会对窗口大小调整做出反应。此外,在提供代码 sn-ps 时,只需删除特定的片段,例如您的 AppController(即使在这种情况下没什么大不了的,但任何人都更容易运行和测试您的代码):)

    希望这会有所帮助!

    【讨论】:

    • 感谢您提及删除无法运行的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    相关资源
    最近更新 更多