رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران

سوال

با سلام.

چطور می تونم در کد زیر با اسکرول کردن در محدوده ی text area وقتی متن به انتها رسید خود صفحه اسکرول بشه؟

Page {
    id: page 
    Flickable {
            id: flickable
            anchors.fill: parent
            anchors.margins: 5
            boundsBehavior: Flickable.OvershootBounds
            contentHeight: contentItem.childrenRect.height + 10 
            Rectangle {
                id: rect
                width: 300
                height: 200
                color: "#00000000"
                border.width: 1
                border.color: 'grey'
                radius: 5
                anchors.horizontalCenter: parent.horizontalCenter
                anchors.top: parent.top
                anchors.topMargin: 10
            }
            Flickable {
                flickableDirection: Flickable.VerticalFlick
                anchors.fill: rect
                anchors.leftMargin: 5
                anchors.rightMargin: 5
                TextArea.flickable: TextArea {
                    id: textarea
                    horizontalAlignment: Text.AlignLeft
                    wrapMode: TextEdit.WordWrap
                }
            }
    }
}

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

1 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

  • 0
ارسال شده در (ویرایش شده)

@amirb سلام بر شما.

من مثال شما رو کمی تغییرات دادم، در قالب فایلی به نام NestedFlicker:

// The file name is NestedFlicker.qml

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Window 2.12

Page {
    id: page
    visible: true
    anchors.fill: parent
    Flickable{
        anchors.fill: parent
        contentHeight: objects.height
        flickableDirection: Flickable.VerticalFlick
        Item{
            id: objects
            width: page.width
            height: childrenRect.height
            Rectangle {
                id: rect
                width: 300
                height: 200
                color: "#00000000"
                border.width: 1
                border.color: 'grey'
                radius: 5
                anchors.horizontalCenter: parent.horizontalCenter
                anchors.top: parent.top
                anchors.topMargin: 10
                Flickable {
                    flickableDirection: Flickable.VerticalFlick
                    anchors.fill: rect
                    anchors.leftMargin: 5
                    anchors.rightMargin: 5
                    TextArea.flickable: TextArea {
                        id: textarea
                        horizontalAlignment: Text.AlignLeft
                        wrapMode: TextEdit.WordWrap
                        font.pointSize: 40
                    }
                }
            }
            Rectangle {
                id: rect2
                width: 300
                height: 1000
                anchors.horizontalCenter: parent.horizontalCenter
                color: "Blue"
                y: page.height / 2
            }
        }
    }
}

در فایل اصلی برنامه هم ازش نمونه ساختم:

// The file name is main.qml

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    visible: true
    minimumWidth: 800
    minimumHeight: 600
    NestedFlicker{
    }
}

به طور عادی هر وقت Flickableشامل متن، به انتها برسه، Flickable بعدی نسبت به حرکات موس واکنش نشون می ده و نیاز به انجام کار خاص دیگه‌ای نیست.

ویرایش شده در توسط نیما غراب

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو ملحق شوید

شما همین الآن می‌توانید مطلبی را ارسال و بعداً ثبت‌نام کنید. اگر حساب کاربری دارید، و با حساب کاربری خود مطلب ارسال کنید.
نکته: مطلب شما قبل از انتشار نیاز به بازبینی توسط میانجی‌گر‌ها دارد.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...