Is there any standard way to create drop-down menu from QLineEdit without QCompleter? For example, using QMenu or creating own class. Or there are any other existing widgets?
Or maybe I should use QAbstractItemModel for QCompleter? I’ve thought about it, but I don’t really understand this QAbstractItemModel. If you have experience about creating menu in this way, please also help me.
So I need a common type of drop-down menu: menu with lines, everyone of which includes icon (QPixmap) and text (QLabel) in itself. It’s like in Opera or Chrome browser in address input line, like the right part of Apple Spotlight etc.
It’s not possible with QMenu because it catch focus when showed and hides when loses focus. However, it’s possible to use QListWidget (or any other regular widget) for this. I developed some working example for the proof of concept. It’s default Qt Widget project with QMainWindow as main window. You need to add QLineEdit with name
"lineEdit"into it and create slot fortextChangedsigna. Here’s the code:MainWindow.h:MainWindow.cpp:There are several problems: you should hide menu when line edit loses focus or user move window, you can’t set focus on the menu using down arrow button from line edit, etc. But I believe all these issues can be solved easily.