سلام
من یک text area دارم می خواهم اطلاعاتش را در یک string در فایل cpp ام ذخیره کنم .
چه جوری میشه فایل qml را با cpp مرتبط کرد ؟
ممنون
سلام
من یک text area دارم می خواهم اطلاعاتش را در یک string در فایل cpp ام ذخیره کنم .
چه جوری میشه فایل qml را با cpp مرتبط کرد ؟
ممنون
برای ارتباط این دو باید کلاس و اشیاء سمت سی++ رو در کیو ام ال توسط qmlRegisterType رجیستر کنی، اینم نمونه مثال
.:.We speak a universal language that brings us together.:.
=======================================
انجمنهای برنامهنویسی مدرن ایران
آموزشهای سیپلاسپلاس و Qt و دیگر کتابخانهها
کانال یوتیوب من | کانال آپارات من
کانال تلگرامی من | گروه تلگرامی ++C
من راستش گیج شدم ، رجیستر که کردیم چه اتفاقی می افته ،
یعنی ما وقتی رجیستر میکنیم بعدش میریم import میکنیم توی qml . چی توی qml ایمپورت میشه ؟
این ارتباط دو طرفه است ؟ یعنی هم cpp به qml هم qml به cpp ؟
خوب پس چرا از QQmlApplicationEngine استفاده می کنیم . ما که یکبار qml را فراخوانی کرده ایم .
چرا نباید متغیر های پراپرتی بصورت دیفالت در cpp قابل مشاهده باشند ؟
ممنون
الان ازه حل شد . فقط یک مشکلی که هست اگر بخواهم از qQmlProperty در main.cpp استفاده کنم برای خواندن اطلاعات
ارور میده که :
D:\Program\QT\5.11.1\mingw53_32\include\QtQml\qqml property.h:131: error: a function-definition is not allowed here before '{' token
{
^
بعد که به فایل خود کتابخانه مراجعه میکنم ارور را از این قسمت گرفته :
inlineuintqHash(constQQmlProperty&key)
{
returnqHash(key.object())+qHash(key.name());
}
کد فایل main.cpp :
#include<QQmlProperty>
QQmlEngineengine; QQmlComponentcomponent(&engine,"qrc:/main.qml"); QObject*object=component.create();
qDebug()<<"Propertyvalue:"<<QQmlProperty::read(object,"someNumber").toInt();
کد فایل main.qml :
importQtQuick2.9
importQtQuick.Controls2.2 importQtQuick.Window2.3
ApplicationWindow{ height:200 width:200 propertyintsomeNumber:100 }
دستتون درد نکنه ، کلا مطالب خیلی خوبی توی سایت هست . خیلی توی زمینه کمکم کرد . دستتون درد نکنه
مشکل بالا حل شد بجای read property از invoke استفاده کردم .
اگر کسی هنوز نتونسته cpp را به qml لینک کنه میتونه از این سورس استفاده کنه .
دیگه رجیستری نمی خواهد یک تابع می سازید بعد هر بار که مثلا دکمه را فشار داد تابع اجرا می شود .
لینک
ممنون