تمام سوالات سوالات بدون پاسخ سوال بپرسید

سلام
میخواستم بدونم وقتی ما از یک ویدجت Qt Quick در برنامه Qt استفاده میکنیم،چطور میشه به اشیاء Qt Quick دسترسی داشت.
مثلا در کد زیر چطور باید به خاصیت color در شئ Text دسترسی پیدا کنم و اون رو تغییر بدم.

Rectangle {
    width: 300
    height: 200

    Text {
        x: 12
        y: 34
        color:red
    }  
}
2 پاسخ

سلام
با استفاده از QDeclarativeProperty میتونید به اشیاء و property ها دسترسی داشته باشید.
به شئ Text یک property به نام objectName اضافه کنید،به صورت زیر:

Rectangle {
    width: 300
    height: 200

    Text {
      objectName: "txt1"  
               x: 12
               y: 34
           color: "red"
    }  
}

حالا میتونید با استفاده از کد زیر به این شئ دسترسی پیدا کنید:

view = QDeclarativeView(QUrl('widget.qml'),parent = object)
property = QDeclarativeProperty(view.rootObject().findChild(QDeclarativeItem, name="txt1"),"color")
property.write("green")

rootObject اشاره به شئ پدر ویدجت داره و تابع findChild به دنبال اشیائی از نوع QDeclarativeItem و نام txt1 میگرده و در نهایت property با نام color در دسترس ما قرار میگیره.
حالا با استفاده از تابع write میتونید مقدار color رو تغییر بدید.


سلام
اساسا در کد نویسی‌های جدید QtQuick، روش MVC مناسب‌تر است. به این شکل که شما یک View یا نما می‌سازید مثل فایل ColorBox.qml و یک کلاس به نام مثلا MyController در C++ می‌سازید. سپس کنترلر خود (همان MyController) را به عنوان یک نوع جدید برای نما ثبت می‌کنید. در نهایت، از کنترلر خود در نما استفاده می‌کنید. به این صورت که مثلا رنگ rectangle_1 را به آن می‌دهید و کنترلر تصمیمات لازم را می‌گیرد.
برای اطلاعات بیشتر، پیشنهاد می‌کنم نمونه زیر را حتما مشاهده بفرمایید:
http://doc.qt.io/qt-5/qtqml-cppintegration-definetypes.html

toggle preview



آموزش زبان برنامه نویسی C#
آموزش jquery
آموزش برنامه نویسی
آموزش طراحی وبسایت
آموزش مدیریت وبسایت
آموزش جاوا Java
آموزش پایتون Python
آموزش سی شارپ C#‎
آموزش HTML و CSS
آموزش JavaScript جاوااسکریپت
آموزش jQuery جی کوئری
آموزش ساخت ربات تلگرام
آموزش برنامه‌نویسی PHP
آموزش برنامه‌نویسی اندروید
● آموزش‌های رایگان

سوالات مرتبط

راهنمای استفاده از ویرایشگر
  • *ایتالیک*‌ یا __ایتالیک__
  • **ضخیم** یا __ضخیم__
  • آدرس:[متن](http://url.com/ "عنوان")
  • عکس?![alt متن](/path/img.jpg "عنوان")
  • لیست عددی: 1. Foo 2. Bar
  • برای رفتن به خط بعد، هر جا مایلید که خط جدید شروع شود دو کاراکتر فاصله (space) قرار دهید
  • تگ‌های ساده HTML هم پشتیبانی می‌شوند

تگها:
  • ×52
  • ×43
  • ×10
  • ×4
  • پرسیده شده: 15 ژوئیه '12, 13:24
  • بازدید: 2,181 بار
  • آخرین بروزرسانی: 07 سپتامبر '15, 02:17

این سوال را دنبال کنیدتوسط ایمیل: ایمیل شما (باید معتبر باشد, هرگز به دیگران نمایش داده نمیشود):

هنگامی که شما به سیستم وارد شوید،قادر خواهید بود برای بروز رسانی ها مشترک شوید.


توسط RSS:

پاسخها

پاسخها و نظرها