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

آیا امکان پیاده‌سازی وراثت در QML وجود دارد؟


سوال

سلام بر دوستان و اساتید گرامی.

من در مستندات QML زیاد دیدم که نوشته فلان جز از جزئی دیگر ارث برده. حالا سوالم اینجاست که این وراثت با خود QML پیاده سازی میشه یا در سمت C++ این کار رو انجام میدن؟

اگر وراثت با خود QML قابل پیاده‌سازی هست میشه در مثالی ساده توضیح بدین؟

سپاس گزارم.

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


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

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

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

  • 1

سلام؛ فکر کنم منظورتون این باشه :

AnotherRec.qml

import QtQuick 2.0

Rectangle
{
}

main.qml

import QtQuick 2.13
import QtQuick.Window 2.13

Window
{
    visible: true
    width: 640
    height: 480

    AnotherRec
    {
        anchors.centerIn: parent;

        width: parent.width / 2;
        height: parent.height / 2;
        color: "gray";
    }

}

 

که اینجا ما یک کامپوننت جدیدی درست کردیم که از Rectangle به ارث برده، بد نیست اون مستنداتی هم که خوندید رو ارسال کنید شاید بحث کلاً یه چیز دیگه‌ای بوده باشه.

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


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

@قاسم رمضانی منش خیلی ممنونم ازتون.

همون اول توضیحات هر کلاس که مینویسه مثلا Rectangle از Item ارث میبره منظورم بود. قبلش من در این مورد جست و جو کردم ولی چیزی پیدا نکردم.

آقا قاسم این کلاس AnotherRec از بیرونی‌ترین شی تعریف شده در فایل AnotherRec.qml فقط ارث میبره؟ یعنی اگر فرضا همین Rectangle رو در داخل یک Item بزاریم دیگه از Rectangle چیزی ارث نمیبره؟

سپاس فراوان.

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


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

خواهش می‌کنم؛ خب آره همینی هست که گفته‌‌ام، نمی‌دونم بیرونی‌ترین شئ منظورت چیه ؟ ساختار QML درختی هست یعنی اینکه یک Root داره و میاد همینطوری پایین و شما کلاً یک Root هم بیشتر ندارید. شما اگه بیاید اون Rectangle رو داخل یک Item دیگه بزارید درواقع یک کامپوننتی دارید که قابلیّت‌های Rectangle رو هم داره اینطوری :

AnotherRectangle.qml

import QtQuick 2.0
import QtQuick.Controls 2.0

Item
{
    property alias rectangleId : recId;

    Rectangle
    {
        id: recId
    }
}

 

main.qml

import QtQuick 2.13
import QtQuick.Window 2.13

Window
{
    visible: true
    width: 640
    height: 480

    AnotherRectangle
    {
        anchors.centerIn: parent

        width: parent.width / 2
        height: parent.height / 2

        rectangleId.color: "Red"
        rectangleId.width: 100
        rectangleId.height: 200
    }

}

image.png.c6c4f1c9f9ca50164faea3a0c8e95ccf.png

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 2
در 19 ساعت قبل، نیما غراب گفته است :

@قاسم رمضانی منش خیلی ممنونم ازتون.

همون اول توضیحات هر کلاس که مینویسه مثلا Rectangle از Item ارث میبره منظورم بود. قبلش من در این مورد جست و جو کردم ولی چیزی پیدا نکردم.

آقا قاسم این کلاس AnotherRec از بیرونی‌ترین شی تعریف شده در فایل AnotherRec.qml فقط ارث میبره؟ یعنی اگر فرضا همین Rectangle رو در داخل یک Item بزاریم دیگه از Rectangle چیزی ارث نمیبره؟

سپاس فراوان.

در واقع شامل همه موارد هست یعنی اگر بیرونی تریم شی یه Item باشه خب شما یه کامپوننت از آیتم داری که توش یه rectangle هست و میتونی هر پراپرتیش رو که بخوای تعریف کنی توی بالاترین کامپوننت و بدی بیرون که استفاده بشه

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


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

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

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

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

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

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

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

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

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


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

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

×
×
  • جدید...