رفتن به مطلب
جامعه‌ی برنامه‌نویسان مُدرن ایران
  • 0
فانوس

عدم اجرای سیگنال تغییر مقدار یک متغیر در QML


سوال

برنامم قرار کارت ار اف ایدی بخونه. و البته هم میخونه هر کارتی که کاربر بزنه. کد کارت را در دیتابیس چک میکنه و به کاربر پذیرش و یا عدم پذیرش کارت را اعلام میکنه
مشکلم اینجاست که پروپرتی تعریف کردم که اگر کارت درست بود ستش کنه تورو اگر غلط بود فالس

setacptCard(true);

تو سمت کیو ام ال نوشتم :

UsersCard
    {
        id:uc
    }
    Item {
        id: name
       Connections{
            target: uc
        onAcptCardChanged: {
            console.log("======+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|");
            errpan.visible=true;
        }}

کدم کامل اجرا میشه اما این متد اصلا فایر نمیشه و اجرا نمیکنه:

 onAcptCardChanged: {
            console.log("======+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|+|");
            errpan.visible=true;

 

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


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

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

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

  • 0

توی تابع ست کردن متغیر سیگنال تغییرش رو فراخوانی کردید ؟

نحوه ارسالتون به کیو ام ال به چه شکل هست ؟

از طرفی اگر کدتون همینی هست که ارسال کردید خب چرا توی تعریف errpan مستقیم برابر با ui.acptCard قرار ندادید ؟

توی تابع

setacptCard(true);

چرا به این صورت نیست ؟

setAcptCard(true);در کل اگر درست تعریف کرده باشید و سیگنال تغییر رو هم توی تابع ست کردن فراخوانی کرده باشید نباید مشکلی باشه.

شاید لازم باشه توی یک پروژه ساده این کار رو انجام بدید و ببینید کار میکنه یا نه اگر کار نکرد که مشخصه روند رو دارید اشتباه میرید و میتونید کمی بیشتر مطالعه کنید تا مشکل حل بشه اما اگر کار کرد و روند با روند توی کد خودتون یکی بود شاید لازم باشه کد اصلی رو دید.

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در در 24 فروردین 1398 در 22:28، بهنام صباغی گفته است :

توی تابع ست کردن متغیر سیگنال تغییرش رو فراخوانی کردید ؟

نحوه ارسالتون به کیو ام ال به چه شکل هست ؟

از طرفی اگر کدتون همینی هست که ارسال کردید خب چرا توی تعریف errpan مستقیم برابر با ui.acptCard قرار ندادید ؟

توی تابع


setacptCard(true);

چرا به این صورت نیست ؟

setAcptCard(true);در کل اگر درست تعریف کرده باشید و سیگنال تغییر رو هم توی تابع ست کردن فراخوانی کرده باشید نباید مشکلی باشه.

شاید لازم باشه توی یک پروژه ساده این کار رو انجام بدید و ببینید کار میکنه یا نه اگر کار نکرد که مشخصه روند رو دارید اشتباه میرید و میتونید کمی بیشتر مطالعه کنید تا مشکل حل بشه اما اگر کار کرد و روند با روند توی کد خودتون یکی بود شاید لازم باشه کد اصلی رو دید.

 

سلام

ممنونم. درست شد. مشکل اینجا بود که زمان خوندن کارت از دستگاه نمیدونم چرا ۵ بار دیتای کارت را برای این صفحه امیت میکرد. بار اول ذخیره می شد اما تا میخواست نشون بده دوباره متدش ران میشد و تو دفعات بعد نمیتونست متد درست کار کنه.

اومدم گفتم اگر بار اول کارت را گرفتی و برای این ایدی ذخیره کردی حالا دوباره همین متد برای همین کارت و همین یوزر داره فراخوانی میشه return کن. حالا داره کار میکنه

باقی کدها درست بود.

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

  • پسندیدن 1

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


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

کانکشن هاتون مشکل داره راه درستی رو انتخاب نکردین واسه حل مشکل. اگر چیزی داره تغییر می کنه یک بار باید سیگنالش ارسال بشه

  • پسندیدن 1

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


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

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

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

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

×