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

تابع finditems در کلاس QStandardItemModel


سوال

درود

اساتید گرامی یک کلاس برای مدل لیست ساختم. برای ساخت مدل لیستم از کلاس qstandarditemmodel استفاده کردم (ارث بری کردم ). حالا میخوام یه قابلیت جستجو در بین آیتم ها به این کلاسم اضافه کنم. تنها چیزی که من تونستم پیدا کنم تابع finditems  بود ولی توی مستندات کیوت نتونستم پارامترهای ورودی رو برای کلاسم تعریف کنم. اگر ممکنه راهنمایی کنید

 

با تشکر

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


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

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

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

  • 0

سلام

درست متوجه نشدم یعنی چی این قسمت ؟ « تنها چیزی که من تونستم پیدا کنم تابع finditems  بود ولی توی مستندات کیوت نتونستم پارامترهای ورودی رو برای کلاسم تعریف کنم» الان مشکل اینه که پارامتر های ورودی برای این تابع رو نداری ؟ یا توی مستندات بهش درست اشاره نشده ؟ یا میخوای به کانستراکتور کلاس ورودی بدی و مشکل داری ؟

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


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

تابع finditems دارای چند پارامتر ورودی است که یکی از پارامتر ها String است. با این اوصاف اگر یک لیست مدل داشته باشیم که با استفاده از کلاس qstandarditemmodel ساخته شده باشد پس توسط تابع finditems میشود یک آیتم را در بین آیتم های این لیست پیدا کرد.

برای مثال یک لیست در نظر بگیرید و یک textfield که از textfield برای جستجو استفاده میشود. به این شکل که وقتی در textfield یک عبارتی تایپ شود ( onTextChanged) تابع finditems صدا زده بشه و اگر عبارت تایپ شده با یکی از آیتم های لیست همخوانی داشت ، لیست ما تغییر کنه و فقط آیتم مورد نظر نمایش داده بشود.

 

مشکل من پارامتر های ورودی تابع finditems است که دو مورد از پارامتر ها رو نتونستم پیاده سازی کنم . بدلیل اینکه در مستندات کیوت توضیحی درباره ش نداده است.

 

در ادامه دو پروژه به صورت فایل پیوست شده موجود است که میتوانید بررسی کنید. هردو پروژه شامل لیستی از آیتم ها و textfield است که در یکی از پروژه ها با تایپ عبارت در textfield لیست تغییر میکند ولی در پروژه ی دیگری همچین قابلیتی وجود ندارد چون از دو کلاس متفاوت ساخته شده است. مشکل من برمیگرده به نوع این کلاس ها که مجبور شدم از کلاسی استفاده کنم که بشه برای هر آیتم یا بهتره بگم هر listelement چند مورد تعریف کرد. مثلا موضوع ، خلاصه ای از موضوع و یک آدرس برای نمایش عکس.

 

پروژه اول

پروژه دوم 

 

دو عکس زیر بیانگر کامل تفاوت این دو لیست است.

عکس اول

عکس دوم

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


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

با سلامی دوباره

خب توی پروژه ای که سرچ میشه کلاس FilterProxyModel تعریف کرده که از QSortFilterProxyModel به ارث میبره و بعد عمل جستجو رو با اون انجام داده توی فایل mymodel هست یه نگاه بنداز .

باید همون رو برای این یکی پروژه هم تعریف کنی تا بتونی سرچ انجام بدی

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


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

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

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

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

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

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

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

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

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


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

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

×
×
  • جدید...