Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to place an icon onto a QLineEdit?

There is a Search field with the magnification-lens and a greyed out "search" keyword at the top right corner of stackoverflow.com web site:

enter image description here

I wonder if it is possible to achieve a same appearance with QLineEdit. If so then how?

like image 483
alphanumeric Avatar asked Jan 15 '15 07:01

alphanumeric


1 Answers

Simple Way for Dummies

  1. Add a QLineEdit, and set it frameless by QLineEdit::setFrame
  2. Add a QLabel with background color in white (by stylesheet) and a icon
  3. Combine the line edit and the label with a layout, set spacing to 0
  4. Set placeholder text with QLineEdit::setPlaceholderText

Result

enter image description here


Advanced Way

Check this thread: "Can QLineEdit do this?"

And the related python code: http://bazaar.launchpad.net/~henning-schroeder/%2Bjunk/qtwidgets/annotate/head:/qtwidgets/lineedit.py

Or

"How to do - inside in QLineEdit insert the button.[pyqt4]"

Basically customized a QLineEdit by painting a widget(label, button or even combobox) onto it. Then reset the margin, cursor, padding and the paint event. No magics!

like image 86
Tay2510 Avatar answered Sep 18 '22 20:09

Tay2510