Portál AbcLinuxu, 13. května 2025 21:01

Dotaz: Pyqt4 blikající text

16.5.2014 11:29 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Pyqt4 blikající text
Přečteno: 220×
Odpovědět | Admin
Zdravím všechny ..

prdkám se s představou krátce blikajícího textu na formuláři.

Googlil jsem a nešel několik variant, ale všechny byly v C++ stylu (nebo PySide) a nepovedlo se mi je přepsat do Pythonu (PyQt4).

Došel jsem k závěru, že nebude potřeba řešit to přes různé QAnimatory a podobně, ale stačí mi QTimer-em Qlabel prostě zneviditelnit a pak zase zviditelnit.

Nějak jsem to tedy sepsal (ono, v QT jsem noob ) a .. chyby už to neháže, nicméně nápis nebliká.
class configui( QtGui.QDialog ):
... 
self.oform=uic.loadUi('UI/config.ui')
...
x = animator( self.oform.label_set_up_pw,  5)
x.timer.start( 500 )

class animator( QObject ):
	def __init__( self,  widget,  times ) :
		super( animator,  self ).__init__()
		self.widget = widget
		self.count = 0
		self.max_count = times
		self.w_status = True
		self.timer = QTimer()
		self.timer.timeout.connect( self.timerevent )
		print "spouštím timer"


	def timerevent(self ):
		self.w_status = not( self.w_status )
		print self.w_status
		self.widget.setVisible( self.status )
		self.count += 1
		if ( self.count >= self.max_count ) :
			self.widget.setVisible( True )
			self.timer.stop()


Spouštím timer

se vypíše, ale dál to nic nedělá. Může mně ěkdo popostrčit, co mám špatně ?

Předem díky

Milan

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.5.2014 12:09 Mige_Amour | skóre: 12 | Benešov
Rozbalit Rozbalit vše Re: Pyqt4 blikající text
Odpovědět | | Sbalit | Link | Blokovat | Admin
self.widget.setVisible( self.status ) a přitom proměnnou máš self.w_status
16.5.2014 12:15 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Pyqt4 blikající text
jj to jsem upravoval, a nedoupravoval, ale v tom problém nebyl.

I tak díky
16.5.2014 12:14 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Pyqt4 blikající text
Odpovědět | | Sbalit | Link | Blokovat | Admin
http://programujte.com/forum/vlakno/26751-custom-events/

Newbie 20. 3. 2014 #1 - 0 -

Ahoj, pro event-driven apliakci potřebuju události, ale python je (ještě) nemá. Našel jsem něco na http://www.emptypage.jp/notes/pyevent.en.html ale funguje to pouze pokud je event definovan jako proměnná třídy. Pokud event definuju jako proměnnou instance tak to hlási chybu

..... jak jednoduché, milý Watsone :-D

x = animator( self.oform.label_set_up_pw,  5)
x.timer.start( 500 )

na 

self.x = animator( self.oform.label_set_up_pw,  5)
self.x.timer.start( 500 )

už to jede, jak má

Milan

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.