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

نمایش رشته با استفاده از QTimer برای مدتی مشخص


سوال

ارسال شده در (ویرایش شده)

سلام و خسته نباشید. من یه رشته ای رو برای اطلاع به کاربر در برنامه  میخواستم نمایش بدم. این رشته باید پشت سرهم و با اختلاف 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 

}

 

ویرایش شده در توسط GornerLabo

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


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

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

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

  • 0

یه جوابی گرفتم با این روش:

اگه در کلاسمون به عنوان مثال دو اسلات تعریف کنیم و کاری که میخواییم رو انجام بدیم در اسلات ها تعریف کنیم و جایی که میخواییم به نوبت و با تایم مشخص اجرا بشن باید از این روش استفاده کنیم:

QTimer::singleShot(1000,this, SLOT(slotFunction1()));
QTimer::singleShot(2000,this, SLOT(slotFunction2()));

دوستان اگه روش بهتری هم داشتند میتونن اینجا معرفی کنند . ممنون

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


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

این تکنیک پایین هم میشه استفاده کرد

QTimer::singleShot(1000, [this]() {
        //code 1
    } );
QTimer::singleShot(2000, [this]() {
        //code2
    } );

 

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


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

سلام

شما می‌تونید از، متد sleep از کلاس QThread و حلقهٔ while استفاده کنید.

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


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

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

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

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

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

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

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

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

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


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

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

×
×
  • جدید...