← Back to team overview

ubuntu-phone team mailing list archive

Re: Running QML functions in parallel thread

 

So, I must use Repeater in new qml file and loading it by Loader, am I
right?


2013/4/16 Rick Spencer <rick.spencer@xxxxxxxxxxxxx>

> I suppose you would use a loader for the Repeater. After you make your
> repeater work for your first level, you can use QtCreator to wrap the
> Repeater in a loader for you. Then I think for each level you would
> destroy the whole Repeater and then use the loader to create a new one
> with the new model for the next level.
>
> At least that is the approach I would take starting out.
>
> HTH
>
> Cheers, Rick
>
> On Tue, Apr 16, 2013 at 7:31 AM, Николай Шатохин <n.shatokhin@xxxxxxxxx>
> wrote:
> > When I create button I assign destroy signal to each. So, when I start
> new
> > game, I destroying buttons from old game and see old field in this
> moment -
> > destroing slow too. Is quickly removing possible? Can I destroy repeater?
> >
> >
> > 2013/4/16 Николай Шатохин <n.shatokhin@xxxxxxxxx>
> >>
> >> Oh, I didn't know that. I'll try.
> >>
> >>
> >> 2013/4/16 Rick Spencer <rick.spencer@xxxxxxxxxxxxx>
> >>>
> >>> Hi.
> >>>
> >>> I'm not sure how your code flows overall, but if you are creating all
> the
> >>> buttons at once, you might consider using a Repeater instead of doing
> it all
> >>> in javascript.
> >>>
> >>> It looks like you might have some kind of list that fires a
> createButton
> >>> signal. You could potentially use that list as a model for a Repeater
> and
> >>> build your buttons in the delegate of the Repeater.
> >>>
> >>> Cheers, Rick
> >>>
> >>>
> >>>
> >>> On Tue, Apr 16, 2013 at 5:11 AM, Николай Шатохин <
> n.shatokhin@xxxxxxxxx>
> >>> wrote:
> >>>>
> >>>> This is my code that creates buttons field:
> >>>>
> >>>>
> >>>> onCreateField:
> >>>> {
> >>>>     for(var i=0;i<fieldWidth;i++)
> >>>>     {
> >>>>         for(var j=0;j<fieldHeight;j++)
> >>>>         {
> >>>>             createButton(i, j);
> >>>>         }
> >>>>     }
> >>>> }
> >>>>
> >>>> function createButton(x, y)
> >>>> {
> >>>>     __buttonX = x;
> >>>>     __buttonY = y;
> >>>>
> >>>>     __component = Qt.createComponent("GameButton.qml");
> >>>>
> >>>>     if(__component != null)
> >>>>         continueButtonCreation();
> >>>>     else
> >>>>         __component.ready.connect(continueButtonCreation);
> >>>> }
> >>>>
> >>>> function continueButtonCreation()
> >>>> {
> >>>>     var button = __component.createObject(field, {"row": __buttonY,
> >>>> "column": __buttonX});
> >>>>
> >>>>      if (button == null) {
> >>>>          // Error Handling
> >>>>          console.log("Error creating object");
> >>>>
> >>>>          return;
> >>>>      }
> >>>>
> >>>>      updateValveState.connect(button.stateUpdated);
> >>>>      button.buttonClicked.connect(buttonClicked);
> >>>>
> >>>>      field.clearField.connect(button.release);
> >>>> }
> >>>>
> >>>>
> >>>> fieldWidth = fieldHeight = 16;
> >>>>
> >>>>
> >>>> 2013/4/16 Alex Tyler <alex.tyler@xxxxxxxxxx>
> >>>>>
> >>>>> Can we see some code? The only time Images hang for me in QML is when
> >>>>> it's trying to load them synchronously. Try setting asynchronous to
> true.
> >>>>>
> >>>>> Cheers,
> >>>>> Alex
> >>>>>
> >>>>> On Tue, Apr 16, 2013 at 10:20 AM, <mrqtros@xxxxxxxxx> wrote:
> >>>>>>
> >>>>>> I thought Nick creates 1024 (16x16) buttons, lol =) And even did not
> >>>>>> thought - for what :D
> >>>>>>
> >>>>>> Of course code is extremely bad, if buttons with size 16x16 pixels
> >>>>>> creating slowly.
> >>>>>>
> >>>>>>
> >>>>>> 16.04.13 12:09 Michael Zanetti написал(а):
> >>>>>>
> >>>>>> On Tuesday 16 April 2013 01:01:28 Николай Шатохин wrote:
> >>>>>> > Hello.
> >>>>>> >
> >>>>>> > In my code I'm creating 16x16 buttons in cycle and this take few
> >>>>>> > seconds.
> >>>>>> > While function that creating buttons runs, app freezes. I want to
> >>>>>> > show
> >>>>>> > loading animation while this function runs. So, how to run this
> >>>>>> > function in
> >>>>>> > parallel thread to avoid freezing?
> >>>>>> >
> >>>>>> > Best regards,
> >>>>>> > Nick
> >>>>>>
> >>>>>> Creating 16x16 buttons shouldn take a few seconds. Can you paste the
> >>>>>> code
> >>>>>> (also the button itself). To me it seems the issue is somewhere
> else,
> >>>>>> e.g. in
> >>>>>> the way you create the buttons or the buttens themselves are very
> >>>>>> slow.
> >>>>>>
> >>>>>> Br,
> >>>>>> Michael
> >>>>>>
> >>>>>> --
> >>>>>> Mailing list: https://launchpad.net/~ubuntu-phone
> >>>>>> Post to : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> >>>>>> Unsubscribe : https://launchpad.net/~ubuntu-phone
> >>>>>> More help : https://launchpad.net/~ubuntu-phone
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Mailing list: https://launchpad.net/~ubuntu-phone
> >>>>>> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> >>>>>> Unsubscribe : https://launchpad.net/~ubuntu-phone
> >>>>>> More help   : https://help.launchpad.net/ListHelp
> >>>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> Mailing list: https://launchpad.net/~ubuntu-phone
> >>>> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> >>>> Unsubscribe : https://launchpad.net/~ubuntu-phone
> >>>> More help   : https://help.launchpad.net/ListHelp
> >>>>
> >>>
> >>>
> >>> --
> >>> Mailing list: https://launchpad.net/~ubuntu-phone
> >>> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> >>> Unsubscribe : https://launchpad.net/~ubuntu-phone
> >>> More help   : https://help.launchpad.net/ListHelp
> >>>
> >>
> >
>
> --
> Mailing list: https://launchpad.net/~ubuntu-phone
> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubuntu-phone
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References