[PyKDE] QLineEdit setCursorPosition & cursor blinking problems
    Ulrich Berning 
    ulrich.berning at desys.de
       
    Thu Jul  7 12:32:05 BST 2005
    
    
  
Danu Kusmana schrieb:
>Hi!
>I have sent email about this problems before but no one reply it.
>
>I reimplement the focusInEvent() with:
>
>class classEntry(QLineEdit):
>	def focusInEvent(self, event):
>		self.setPaletteBackgroundColor(QColor(188,255,203))
>		self.setCursorPosition(0)
>
>	def focusOutEvent(self, event):
>		self.setPaletteBackgroundColor(QColor("white"))
>
>and make an object:
>
>self.EntryDiastolik = classEntry(self.centralWidget(),
>	"EntryDiastolik")
>self.EntryDiastolik.setSizePolicy(QSizePolicy(0,0,0,0,
>	self.EntryDiastolik.sizePolicy().hasHeightForWidth()))
>self.EntryDiastolik.setMaxLength(3)
>self.EntryDiastolik.setValidator(QIntValidator(self.EntryDiastolik))
>
>What happen is that:
>1. The cursor is not blinking at the focused line edit only the
>background color changes.
>2. After I entered some values to the line edit the cursor position 0 is
>place after the entered values, not from the begining of the line edit.
>
>Can anyone help me with this?
>  
>
If you reimplement methods of a base class, you normally call the method 
of the base class before or after your own functionality. Otherwise you 
would have to reimplement the whole functionality of the base class method.
Calling QLineEdit.focusInEvent(self, event) in your focusInEvent() 
method and QLinieEdit.focusOutEvent(self, event) in your focusOutEvent() 
should help.
Note: If you call setCursorPosition(0), you loose the text selection and 
there is no way to keep the text selected and have the cursor at the 
beginning of the text.
Ulli
    
    
More information about the PyQt
mailing list