تازه های سایت
گرافیک دو بعدی در کیوت قسمت سوم

گرافیک دو بعدی در کیوت قسمت سوم

سلام دوستان گل . توی این قسمت قصد داریم یه Progress Bar زیبا بسازیم. البته این قسمت تمرینی بر قسمت های قبلی و آموزش یک مفهوم خیلی ساده است.

قصد داریم همچین چیزی بسازیم :

prbدانلود کنید !

در ضمن دوستان خواهشا توی سوال و جواب شرکت کنند. نگران نباشند نظرشون رو بگند حالا شاید ۱۰۰ % درست نباشه ولی حتما به درد میخوره. همه سوالا رو که من نباید جواب بدم. خواهشا شرکت کنید در بحثا.

در ضمن از اینجا هم میتونید فایل psd مورد نیاز آمورش رو دانلود کنید. اینم فایل های مورد نیاز این آموزش :

progress_back

tooltip

۴,۰۰۴ total views, 1 views today

Print Friendly
Facebook0Google+0Twitter0LinkedIn0

درباره‌ی سعید دادخواه

دانشجوی سال آخر دانشگاه صنعتی اصفهان هستم. عاشق کیوت! خیلی ها بهم میگن QSaeed :) ولی در کل عاشق کامپیوترم ! سعی کردم هرچیزی رو توی دنیای بی انتهای کامپیوتر تجربه کنم! هر چیزی رو !

۱۷ نظر

  1. سلام آقا سعید.
    ممنون بابت ابن همه زحمات.

  2. سلام
    ۱- تشکر
    ۲- باز هم نمی¬خواستم چیزی بنویسم ولی فکر می¬کنم خیلی مهم هست. خیلی مختصر چند نکته¬ی مهم رو میگم.
    ۳- لزومی به تغییر تایپ value از Int به float نیست، آخه مگه وقتی این نوع property رو در انیمیشن set می¬کنیم، از نوع float است که در تعریف داخل کلاس آن را به نوع float تغییر دهیم؟ کیفیت خروجی هم تغییری نمی¬کند. مهم همان w هست که از نوع float تعریف شده است.
    ۴- حداقل در اینجا نیازی به چک کردن مقدارv با _value نیست، چون مقدار اولیه _value صفر و مقدار اولیه v برابر با بیست است!! و دیگر این اتفاق هم نمی افتد. بگذریم. اگرچه بعضی جاها باید بشود!
    ۵- نیازی به تعریف سیگنال نداریم، وقتی در انیمیشن، value رو set می¬کنیم، تابع مربوطه که شامل update هست صدا زده می¬شود و سیگنال رو می¬خواهیم چه کار؟
    ۶- این ها رو که میگم، امتحان کردما! برای همچون تنبلی مثل من سخت بود کد بزنم، ولی چون می¬خواستم یقین پیدا کنم، این کار رو کردم!
    ۷- به دلیل بالا اگر امکانش هست برای افراد تنبلی مثل من کد رو هم قرار دهید، تا روی همان کار کنیم. البته کد زدن از ابتدا یه چیز دیگه است و مثل من دستتون کند نمی¬شود! از بس وقتی مطالعه می¬کنم و یا آموزشی می¬بینم، دست به صفحه کلید نمی¬برم.
    ۸- گیرهای دیگه هم میشه داد ولی فکر کنم اینا مهم هاش بودند!!!
    ۹- بدون تعارف، دانشم بسیار کم است ولی کد زنی خوب می¬طلبد به گفتن چراهای فراوان. شاید هم من خیلی گیر میدم! حالا درک می¬کنید وقتی برای اولین بار در آموزش ارتباط flash با qt رو دیدم، و با اون include کردنها و دیگر تعاریف (دقیقا یادم نیست)، من چی کشیدم!!! یا وقتی اون implicit ها رو میبینم!!!! و ….
    ۱۰- آقا کد رو یادآوری میکنم برای تنبلی!
    ۱۱- باز هم بسیار تشکر

    • سلام
      ۱-خواهش میکنم
      ۳-نه دیگه ! کاری که QPropertyAnimation انجام میده اینه که میاد از مقدار startValue به endValue میره و تابع setValue شما رو صدا میزنه با مقدارهایی که باعث بشه حالت انیمیشن ایجاد بشه. وقتی شما نوع رو int بذاری میتونه از ۲ به ۳ بره ولی نمیتونه از ۲ به ۲٫۵ بره مشکل اینه. پس ما وقتی نوع رو float میذاریم در واقع به QPropertyAnimation اجازه میدیم که مقدارهای نزدیک به هم تری ! انتخاب کنه تا انیمیشن نرم تر بشه.کافیه زمان اجرای هر انیمیشن ( داخل حلقه که به انیمیشن گروپ سریال اضافه میشن) رو از ۱۰۰۰ میلی ثانیه به ۱۰۰۰۰ میلی ثانیه تغییر بدین تا متوجه بشین چی میگم.
      ۴-بازم نیازه 🙂 ! ما داریم یه پروگرس بار مینویسیم که باید بهینه رفتار کنه. اگه کاربر دوبار پشت سر هم ست کنه ۲۰ برای value دوبار پشت سر هم باعث repaint شدن شکل میشه که کار خوبی نیست. با یه if ساده میشه جلوی این رو گرفت.
      ۵-ما داریم یه پروگرس بار می نویسیم پس باید استاندارد رفتار کنه 🙂 یعنی وقتی مقدارش عوض شد این مقدار رو emit کنه تا بقیه متوجه بشن شاید نیاز باشه خودشون رو به روز کنن. دقیقا مثل QSpinBox و یا حتی خود QProgressBar
      6-یه بار دیگه امتحان کن با چیزایی که گفتم 🙂
      ۷-باشه چشم. نذاشتمم یاد آوری کنید بذارم
      ۸-حتما
      ۹-من عاشق گیر دادن هستم گیر بده که در آن خیر است برای گیردهنده و گیر شدنده اگر بدانید !
      ۱۰-:))))
      ۱۱-خواهش میکنم.

      • سلام
        تشکر، اصلا موضوع چی بود؟

        ۳- من زمان رو افزایش داده بودم و تست کرده بودم و تغییر خاصی ندیده بودم. من تغییر نرم دیده بودم و تغییر جهشی ندیده بودم. شاید اگه اشتباه نکنم باید در ست کردنها مقدار float داد (چون QVariant هست میگما) یعنی مثلا ۱٫۰! این را تست نکرده بیدم!
        ۴- چک کردنهای اینطوری حتی تو کتابها هم دیده بودم ولی منظورم در این حالت خاص بود. چون این ” بازم نیازه! ” من رو کشته بود گفتما.
        ۵- حق با شماست، ولی اینو گفتم که بیننده فکر نکند که واجب هست. وگرنه به قول خودتون خوب است که محدوده ی رفرش شدن در paint رو هم مشخص کرد. (من رفتم!).
        ۵-۵ یه بار دیده بودم ولی الان ندیده بودم. این چی بیده بود که الان نبیده بود!

        بالاخره جواب دادم!!!

        بابت زحماتی که می کشید بسیار تشکر

        • ۳-حتما توی ویدیوی بعدی اگه یادم بود ! نشونت میدم.
          ۴-:))
          ۵-:)) حق باشماست . من دیدم Q_PROPERTY گفت بذار یه سیگنال واسه notify منم گذاشتم. در کل نیازی نیست.
          ۵-۵ :-”

          خواهش میکنم.

  3. راستی جواب اون سوالی که پرسیدین چیه؟!؟ د:

  4. سعید جان خسته نباشی برادر
    من ده روز نبودم ۶ قسمت افتادم عقب
    ماشاالله به این عزم راسخت
    دمت گرم

    • 🙂 سلام
      چاکریم
      هروخ نیسی بگو کرکره رو بکشیم پایین اصن :))

      • مخلصیم رئیس. زنده باشی.
        یکی دو روز برم نمایشگاه تهران و برگردم یه دل سیر ویدئو دانلود کنم
        البته یکی دو قسمتشو دارم دانلود می‌کنم تو اتوبوس کد بزنم. چه کنیم مریضیه تو و کیوت با ویروس ++C قاطی شده داره داغونم می‌کنه. 
        آخه این آموزشا چیه میذاری برادر. معتاد شدیم. اصلا می‌رم لوت می‌دم بیای تو بازداشتگاه با هم کد بزنیم.

جوابی بنویسید

ایمیل شما نشر نخواهد شد.خانه های ضروری نشانه گذاری شده است. *

*


5 + = ده

http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_bye.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_good.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_negative.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_scratch.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_wacko.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_yahoo.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_cool.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_heart.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_rose.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_smile.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_whistle3.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_yes.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_cry.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_mail.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_sad.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_unsure.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_wink.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wmpl_laughing.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_angry.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_bigsmile.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_bigsup.gif 
http://qtips.ir/wp-content/plugins/wp-monalisa/icons/wpml_hopless.gif