Passerer parametere til spor.

Jeg har et spor som tar en int som en parameter. Men nar jeg kaller sporet og legger et tall i parentesen, gir det meg denne feilen:

@QObject :: Koble til: Ingen slik spalte browseTab :: loadBar (25) @

hvordan sender jeg en verdi inn i funksjonen?

Har du definert spor i headerfilen riktig? og er du definert tilkoblingsmetode for a ringe til dette sporet?

betyr at hvis du definerer tilkoblingsmetode, bor spaltens passerende parametertype v re den samme som signalets parametertype.

Kan du vise, hvordan lager du forbindelse?

ok her er min tilkobling:

@kobling (webView, SIGNAL (loadProgress (int)), SLOT (loadBar (25))); @

Jeg ma sende en verdi pa 25 til loadBar-funksjonen (for a vise at QWebView er 25% lastet)

Vel, hvis du bruker Qt4:

noe sant:

@kobling (sender, & QObject :: loadProgress, = & # 123; this-> lastBar (25); & # 125;); @

men bare nysgjerrig pa hvorfor du vil alltid vise lasting fremgang som 25%?

[quote author = «nicky j» dato = «1393303099»] ok her er min tilkobling:

@kobling (webView, SIGNAL (loadProgress (int)), SLOT (loadBar (25))); @

Jeg ma sende en verdi pa 25 til loadBar-funksjonen (for a vise at QWebView er 25% lastet) [/ quote] Signalparameteren kopieres til sporet parameter.

Nar QWebView sender signalet loadProgress (), vil det b re en int-verdi. Din loadBar () spor mottar automatisk den verdien.

Skriv dette i stedet:

hvis du vil ringe loadBar () uten a vente pa et signal, bare ring det som en vanlig funksjon:

Qt-dokumentasjonssok (Chrome, Firefox): forum.qt.io/topic/35616/

her passerer du 25 direkte til din plass som vil gi en feil.

Ikke pass 25 pa direkte mate.

Ok takk for hjelpen!

ok, sa jeg endret tilkoblingsfunksjonen til:

@kobling (webView, SIGNAL (loadProgress (int)), SLOT (loadBar (int))); @

Den kompilerer, men ser ikke ut til a bli kalt nar webView lastes.

Jeg begynner a tenke pa dens problemer med selve sporet:

«border-right: 2px solid bla; & quot;

«border-right: 2px solid bla; & quot;

«border-bottom»: 2px solid bla; & quot;

«border-right: 2px solid bla; & quot;

«border-bottom»: 2px solid bla; & quot;

«border-left: 2px solid bla; & quot;

«border-right: 2px solid bla; & quot;

«border-bottom»: 2px solid bla; & quot;

«border-left: 2px solid bla; & quot;

«border-top: 2px solid bla; & quot;

«border-right: 2px solid black; & quot;

«border-bottom»: 2px solid svart; & quot;

«border-left: 2px solid black; & quot;

«border-top: 2px solid black; & quot;

I utgangspunktet bruker jeg SearchBar som en fremdriftslinje ved a endre fargen pa sidene som siden laster. Tydeligvis virker det ikke. Ideer?

For a sjekke om et spor er kalt, hold en qDebug () inne i den.

Du kontrollerer ogsa om fremgang er lik en bestemt verdi. Sporet ditt vil ikke gjore noe hvis det mottar 49 eller 51. Det er best a ikke anta at hver verdi mellom 1 og 100 vil bli mottatt.

Qt-dokumentasjonssok (Chrome, Firefox): forum.qt.io/topic/35616/

ja int fremgang = 0. Skal jeg endre det? Hvis ikke alle verdier vil bli kalt, hva skal jeg gjore i if () setningene som kalles nar det nar visse punkter? Er det en rekke verdier jeg bor ringe? Hvis ja, hvordan gjor jeg det?

Du far ikke velge hvilke verdier du mottar – QWebView er ansvarlig for det.

Bruk qDebug () for a skrive ut verdien av fremdriften hver gang sporet ditt kalles. Det skal hjelpe deg med a bestemme hva du skal gjore.

Qt-dokumentasjonssok (Chrome, Firefox): forum.qt.io/topic/35616/

ok jeg fjernet standardverdien fra int fremgang. Det skjer fortsatt ingenting.

Bruk qDebug () for a skrive fremgang. (Fjerning av standardverdien burde ikke ha noen effekt)

Qt-dokumentasjonssok (Chrome, Firefox): forum.qt.io/topic/35616/

hvor plasserer jeg qDebug ()?

Hvilke feilsokingsteknikker er du kjent med? Har du brukt printf () for?

Qt-dokumentasjonssok (Chrome, Firefox): forum.qt.io/topic/35616/

nei jeg har aldri brukt printf () eller qDebug () for.

Det er en veldig enkel, men veldig nyttig teknikk for a sjekke programmet. Hvis du setter qDebug () i en funksjon, vil den skrive ut en melding i Application Utput-panelet * hver gang funksjonen kalles. Hvis meldingen ikke vises, betyr det at funksjonen din ikke er blitt kalt. Nar du spiller med det, er jeg sikker pa at du kan tenke pa andre bruksomrader for qDebug ().

Sjekk om loadBar () kalles.

Undersok verdien av fremdriften innenfor loadBar ()

Qt-dokumentasjonssok (Chrome, Firefox): forum.qt.io/topic/35616/

Ser ut som din forbindelse til Qt Forum var tapt, vent mens vi forsoker a koble til igjen.