[Qt-interest] Timer objects conflicting

Yuvaraj R yuvaraj at ongobiz.com
Mon Aug 17 07:59:31 CEST 2009


 Dear All


As per Veygman suggestions..

It is working..

but i have more than 500 buttons,so i think ,it is some what difficult. each
time i have create slot function.

Thats why


I am following this way

*on button pressed..*
**
**
static int i=0;
i++;
 form =new Form;

form->get_timer(i);

QObject::connect(form,SIGNAL(send_timer(int,QString)),this,SLOT(get_timer(int,QString)));





void Form::get_timer(int id)

{

object_id = id;

time->start(1000);

QObject::connect(time,SIGNAL(timeout()),this,SLOT(run_timer()));

}

void Form::run_timer()

{

QString time_count;

if(b==59 )

{

b=0;

a++;

}

if(a<10 && b<10 )

{

time_count = QString(QString::number(0)+QString::number(a) +
":"+QString::number(0)+QString::number(b));

}

if(a<10 && b >=10)

{

time_count = QString(QString::number(0)+QString::number(a) +
":"+QString::number(b));

}

if(a>=10 && b <10)

{

time_count = QString(QString::number(a) +
":"+QString::number(0)+QString::number(b));

}

if(a>=10 && b>=10)

{

time_count = QString(QString::number(0)+QString::number(a) +
":"+QString::number(b));

}

b++;

emit send_timer(object_id,time_count);

}
void MainWindow::get_timer(int val,QString data)

{

qDebug() << "Id value:"<< val;

list.at(val)->m_ui->set_time->setText(data);

}

once  i clicking the second button.first button object timer is stopped and
second object timer is running..


please help me why this one happening.


Thanks


Yuvaraj R







On Mon, Aug 17, 2009 at 9:22 AM, Yuvaraj R <yuvaraj at ongobiz.com> wrote:

>
> Thanks..
>
>      it is working
>
> Yuvaraj R
>   On Thu, Aug 13, 2009 at 8:42 PM, Mikhail Veygman <mveygman at gmail.com>wrote:
>
>> As I have mentioned before.
>>
>> Along with flags for on/off you will also set up the counters for each
>> of the buttons.  Click a button then a respective flag goes on and the
>> respective counter will be incremented every time the time times out.
>> Click it again and flag goes off and the counter is no longer
>> incremented upon a timeout.
>> -
>> Regards,
>>
>> Mikhail Veygman
>>
>>
>> -----Original Message-----
>> From: Yuvaraj R <yuvaraj at ongobiz.com>
>> To: Mikhail Veygman <mveygman at gmail.com>
>> Cc: Malyushytsky, Alex <alex at wai.com>, qt-interest at trolltech.com
>> <qt-interest at trolltech.com>
>> Subject: Re: [Qt-interest] Timer objects conflicting
>>  Date: Thu, 13 Aug 2009 20:22:48 +0530
>>
>> i have to increment the timer value separetly according to the  buttons
>>
>>
>>
>> 1) click first button _________ start timer __________Display
>> value( don't stop ,if another buttons pressed means)
>>
>> 1) click secondbutton _________ start timer __________Display
>> value(don't show first button timer value)
>>
>> when i am clicking the same button again,the corresponding  timer will
>> be stoping.
>>
>> How do set this senario
>>
>>
>> Thanks
>>
>> Yuvaraj R
>>
>>
>>
>> On Thu, Aug 13, 2009 at 7:55 PM, Mikhail Veygman <mveygman at gmail.com>
>> wrote:
>>        It's Mikhail.
>>
>>        If you need to time the buttons separately and need to know how
>>        much
>>        time the timer was active set a second list of values that will
>>        save
>>        that amount.  First click will set the flag and start
>>        incrementing,
>>        second click will clear the flag and stop incrementing.
>>
>>        If the first suggestion doesn't work for you try the second.
>>        -
>>        Regards,
>>
>>        Mikhail Veygman
>>
>>
>>        -----Original Message-----
>>
>>        From: Yuvaraj R <yuvaraj at ongobiz.com>
>>        To: Mikhail Veygman <mveygman at gmail.com>
>>        Cc: Malyushytsky, Alex <alex at wai.com>, qt-interest at trolltech.com
>>        <qt-interest at trolltech.com>
>>        Subject: Re: [Qt-interest] Timer objects conflicting
>>
>>
>>        Date: Thu, 13 Aug 2009 19:06:05 +0530
>>
>>        Veygman
>>
>>        AS per your first suggestion,
>>
>>
>>        ok , i am use single timer. if i someting upadated in object.,i
>>        set the
>>        flag ..
>>
>>        But ,i need two buttons timer value separately..That's why i am
>>        creating
>>        new objects..
>>
>>        any other idea ?
>>
>>
>>        Thanks
>>
>>        Yuvaraj R
>>
>>        On Thu, Aug 13, 2009 at 6:12 PM, Mikhail Veygman
>>        <mveygman at gmail.com>
>>        wrote:
>>               Yuvaraj,
>>
>>               As Alex has stated the "conflict" doesn't explain the
>>        problem
>>               you are
>>               having and further doesn't specify the symptoms of the
>>        problem,
>>               which
>>               are needed.
>>
>>               Looking at the code, however, I think you need to change
>>        the
>>               design of
>>               your application the reason being is:  I would assume
>>        that you
>>               have only
>>               one instance of the Form class and all the timers are
>>        created
>>               through it
>>               so you are calling the same slot in the same object, so
>>        my
>>               suggestion
>>               for you would be 1 of the 2 things:
>>
>>               1.  Use a single timer and just have a list of flags on
>>        whether
>>               something needs to be updated within the object and then
>>        update
>>               it based
>>               on the flag being set to true.
>>
>>               2.  Break up data handling into separate objects and
>>        create the
>>               timer
>>               within the object so you are not attempting to update
>>        parameters
>>               within
>>               the same object.
>>
>>               -
>>               Regards,
>>
>>               Mikhail Veygman
>>
>>
>>               -----Original Message-----
>>               From: Malyushytsky, Alex <alex at wai.com>
>>               To: qt-interest at trolltech.com <qt-interest at trolltech.com>
>>               Subject: Re: [Qt-interest] Timer objects conflicting
>>
>>
>>               Date: Wed, 12 Aug 2009 18:34:42 -0700
>>
>>               Thiago is right about static variable initialization and
>>        since
>>               your code mostly likely assumes that initial count should
>>        be 0,
>>               it is mostly likely not a problem here. It still might be
>>        a
>>               problem in other cases. I can only guess.
>>               I believe it is preferable to initialize static variable
>>        of the
>>               basic types (no constructors) even if it should be
>>        initialized
>>               to 0.
>>               This will clearly state for the person reviewing your
>>        code that
>>               you did not forget to do it.
>>               Comment can be used to get the same effect, but "= 0" is
>>               shorter.
>>               This is more related to the style and I would not
>>        probably
>>               mentioned this, if code posted was not so hard to read
>>        due to
>>               lack indentation already.
>>
>>
>>               Back to the problem.
>>               As it was pointed already by John, the "conflict" does
>>        not
>>               explain the problem.
>>
>>               More of that, it is not clear what was intended to do.
>>               You explanation does not provide information what you are
>>        trying
>>               to achieve.
>>               It gives description how you are doing it.
>>
>>               Since there are endless possibilities "What" you want to
>>        achieve
>>               it is tough to help you.
>>
>>               For example if you wanted to show time passed from the
>>        click on
>>               the last button,
>>               The only single timer supposed to be running at any time.
>>               You have to stop previously running timer (if any),
>>        create a new
>>               one and change data to be displayed.
>>
>>               If you have parallel processes running, timers represents
>>        each
>>               process and click of the specific button just supposed to
>>               switching the data displayed into specific control, you
>>        do need
>>               multiple timers.
>>               But only one timer at a time supposed to display the
>>        data, the
>>               one associated with specific process/button.
>>
>>
>>               Regards,
>>                 Alex
>>
>>
>>
>>               -----Original Message-----
>>               From: qt-interest-bounces at trolltech.com
>>               [mailto:qt-interest-bounces at trolltech.com] On Behalf Of
>>        John
>>               McClurkin
>>               Sent: Wednesday, August 12, 2009 5:30 AM
>>               To: qt-interest at trolltech.com
>>               Subject: Re: [Qt-interest] Timer objects conflicting
>>
>>               Yuvaraj R wrote:
>>               > Alex
>>               >
>>               >  I am explaining my problem here..
>>               >
>>               >
>>               > I am creating new object for Timer .whenever i am
>>        clicking the
>>               push
>>               > button .I have set the timer timer interval 1000 sec..
>>               >
>>               > If timeout signal is emitted it will run_timer slot..
>>               >
>>               > Here i am counting  the seconds and send to my main
>>        window...
>>               >
>>               >
>>               > What my thing is ,when i am creating the second object
>>         for
>>               timer,it is
>>               > conflicting with  object 1..
>>
>>               Your statement is still not helpful because you don't
>>        describe
>>               what the
>>               conflict is. So, I'll try with a couple of questions. 1)
>>        What
>>               happens
>>               when you just click push button 1? 2) What happens when
>>        you
>>               click push
>>               button 1 then click push button 2? 3)How is this
>>        different from
>>               what you
>>               want to happen?
>>
>>               >
>>               > And more thing.. How come i know,which object is
>>        emitting the
>>               timeout signal
>>               You can use the sender() function in the run_timer slot.
>>        See the
>>               Qt
>>               documentation.
>>
>>               >
>>               >
>>               >
>>               > Thanks
>>               >
>>               > Yuvaraj R
>>               >
>>               > On Wed, Aug 12, 2009 at 4:55 AM, Malyushytsky, Alex
>>               <alex at wai.com
>>               > <mailto:alex at wai.com>> wrote:
>>               >
>>               >     I am not sure I followed what you were trying to
>>        achieve.
>>               >     I could assume something, based on your
>>        explanation, but
>>               if you want
>>               >     correct answer you need to ask correct question.
>>               >     What is worth "objects are conflicting.. " gives no
>>               explanation of
>>               >     the problem you are facing.
>>               >     Code provided does not give sufficient details to
>>               understand it.
>>               >     It might be a good idea to spend more formulating
>>        question
>>               if you
>>               >     want help.
>>               >
>>               >     The only thing I can say right now:
>>               >     - static int count; is  not initialized
>>               >     - time[count] = new QTimer; may create a problem
>>        depending
>>               on the
>>               >     container you are using.
>>               >
>>               >     Regards,
>>               >        Alex
>>               >
>>               >
>>               >
>>               >     From: qt-interest-bounces at trolltech.com
>>               >     <mailto:qt-interest-bounces at trolltech.com>
>>               >     [mailto:qt-interest-bounces at trolltech.com
>>               >     <mailto:qt-interest-bounces at trolltech.com>] On
>>        Behalf Of
>>               Yuvaraj R
>>               >     Sent: Tuesday, August 11, 2009 1:30 PM
>>               >     To: qt-interest
>>               >     Subject: [Qt-interest] Timer objects conflicting
>>               >
>>               >     Hi All
>>               >
>>               >     I have 10 items in list view.. Each widget
>>        containing the
>>               push
>>               >     button and label..
>>               >
>>               >     when push button is clicked the Timer is
>>        running ..suppose
>>               if click
>>               >     the first item push button timer value is display
>>        at
>>                label..After
>>               >     some times again i am clicking second push
>>        button... this
>>               item value
>>               >     also i have to display..
>>               >
>>               >     whenever user clicking the button, new object will
>>        be
>>               creating for
>>               >     QTimer..Here my problem is objects are
>>        conflicting..
>>               >
>>               >     My code is
>>               >
>>               >     void Form::get_timer(int id)
>>               >     {
>>               >     static int count;
>>               >     qDebug() << "yuvaraj";
>>               >     time[count] = new QTimer;
>>               >     time[count]->start(1000);
>>               >
>>
>>
>> QObject::connect(time[count],SIGNAL(timeout()),this,SLOT(run_timer()));
>>               >     count++;
>>               >     }
>>               >     void Form::run_timer()
>>               >     {
>>               >     qDebug() << "yuvaraj 1";
>>               >     QString time_count;
>>               >     if(b==59 )
>>               >     {
>>               >     b=0;
>>               >     a++;
>>               >     }
>>               >     if(a<10 && b<10 )
>>               >     {
>>               >     time_count =
>>        QString(QString::number(0)+QString::number(a)
>>               +
>>               >     ":"+QString::number(0)+QString::number(b));
>>               >     }
>>               >     if(a<10 && b >=10)
>>               >     {
>>               >     time_count =
>>        QString(QString::number(0)+QString::number(a)
>>               +
>>               >     ":"+QString::number(b));
>>               >     }
>>               >     if(a>=10 && b <10)
>>               >     {
>>               >     time_count = QString(QString::number(a) +
>>               >     ":"+QString::number(0)+QString::number(b));
>>               >     }
>>               >     if(a>=10 && b>=10)
>>               >     {
>>               >     time_count =
>>        QString(QString::number(0)+QString::number(a)
>>               +
>>               >     ":"+QString::number(b));
>>               >     }
>>               >     b++;
>>               >     emit send_timer(count,time_count);
>>               >     }
>>               >
>>               >     // slot for  send_timer signal
>>               >     void MainWindow:: get_timer(int item,QString str)
>>               >     {
>>               >     qDebug() << "yuvaraj" << str << item;
>>               >     for(int i=0;i<list..size();i++)
>>               >     {
>>               >     if(i == list_item_id[item])
>>               >     {
>>               >     list.at
>>               <http://list.at/>(i)->m_ui->set_time->setText(str);
>>               >     }
>>               >     }
>>               >
>>               >     Please help me ,how do avoid the object conflicting
>>               >
>>               >
>>               >     Thanks
>>               >
>>               >
>>               >     Yuvaraj R
>>               >
>>               >
>>               >
>>
>>
>> ---------------------------------------------------------------------------------------------------
>>               >     Weidlinger Associates, Inc. made the following
>>               annotations.
>>               >
>>               >     "This message and any attachments are solely for
>>        the
>>               intended
>>               >     recipient and may contain confidential or
>>        privileged
>>               information. If
>>               >     you are not the intended recipient, any disclosure,
>>               copying, use, or
>>               >     distribution of the information included in this
>>        message
>>               and any
>>               >     attachments is prohibited. If you have received
>>        this
>>               communication
>>               >     in error, please notify us by reply e-mail and
>>        immediately
>>               and
>>               >     permanently delete this message and any
>>        attachments. Thank
>>               you."
>>               >
>>               >     "Please consider our environment before printing
>>        this
>>               email."
>>               >
>>               >     _______________________________________________
>>               >     Qt-interest mailing list
>>               >     Qt-interest at trolltech.com
>>               <mailto:Qt-interest at trolltech.com>
>>               >
>>        http://lists.trolltech.com/mailman/listinfo/qt-interest
>>               >
>>               >
>>               _______________________________________________
>>               Qt-interest mailing list
>>               Qt-interest at trolltech.com
>>               http://lists.trolltech.com/mailman/listinfo/qt-interest
>>
>>               "This message and any attachments are solely for the
>>        intended
>>               recipient and may contain confidential or privileged
>>               information. If you are not the intended recipient, any
>>               disclosure, copying, use, or distribution of the
>>        information
>>               included in this message and any attachments is
>>        prohibited. If
>>               you have received this communication in error, please
>>        notify us
>>               by reply e-mail and immediately and permanently delete
>>        this
>>               message and any attachments. Thank you."
>>
>>               _______________________________________________
>>               Qt-interest mailing list
>>               Qt-interest at trolltech.com
>>               http://lists.trolltech.com/mailman/listinfo/qt-interest
>>
>>               _______________________________________________
>>               Qt-interest mailing list
>>               Qt-interest at trolltech.com
>>               http://lists.trolltech.com/mailman/listinfo/qt-interest
>>
>>
>>
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20090817/bfd5c8c3/attachment.html 


More information about the Qt-interest-old mailing list