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

پرچمداران

  1. GornerLabo

    GornerLabo

    کاربـــر عـــــادی


    • امتیاز

      3

    • تعداد ارسال ها

      105



مطالب محبوب

در حال نمایش مطالب دارای بیشترین امتیاز در چهارشنبه, 22 اسفند 1397 در همه بخش ها

  1. 1 امتیاز
    سلام و خسته نباشید. من یه رشته ای رو برای اطلاع به کاربر در برنامه میخواستم نمایش بدم. این رشته باید پشت سرهم و با اختلاف 1 ثانیه ای نمایش داده بشه. بعد این نمایش میخواستم تایمر متوقف شه . با کلاس تایمر تونستم با اتصال سیگنال timeout به اسلاتی از برنامه این کار رو انجام بدم اما اسلات بعد زمان تعیین شده مرتبا تکرار میشد. طبق مثال زیر عمل کردم. لطفا راهنمایی کنید ممنون. #include <QTimer> class ShowString: public QObject { Q_OBJECT private: QTimer *timer; public: public slots: void show(); }; #include "showstring.h" ShowString::ShowString() { timer = new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(show())); timer->start(1000); } void ShowString::show() { //my 3 line strings }
  2. 1 امتیاز
    این تکنیک پایین هم میشه استفاده کرد QTimer::singleShot(1000, [this]() { //code 1 } ); QTimer::singleShot(2000, [this]() { //code2 } );
  3. 1 امتیاز
    یه جوابی گرفتم با این روش: اگه در کلاسمون به عنوان مثال دو اسلات تعریف کنیم و کاری که میخواییم رو انجام بدیم در اسلات ها تعریف کنیم و جایی که میخواییم به نوبت و با تایم مشخص اجرا بشن باید از این روش استفاده کنیم: QTimer::singleShot(1000,this, SLOT(slotFunction1())); QTimer::singleShot(2000,this, SLOT(slotFunction2())); دوستان اگه روش بهتری هم داشتند میتونن اینجا معرفی کنند . ممنون
این صفحه از پرچمداران بر اساس منطقه زمانی تهران/GMT+03:30 می باشد
×
×
  • جدید...