PDA

View Full Version : Dialog remains in background.



vjsharma_30
10th March 2010, 17:07
Hi
I have created an application(on linux) in which i invoke the "native file dialog". On clicking the "line edit " on the file dialog a virtual keyboard is invoked. It receives the focus and i am able to enter the characters in the line edit. But the keyboard doesn't comes in the forefront. It hides behind the file dialog. I have attached the snapshot also.
How to bring the keyboard in the forefront?

vjsharma_30
10th March 2010, 20:33
Where are all the QT experts. I am not getting any response for last 2-3 queries i have posted here.Are these queries that strange.

Lykurg
10th March 2010, 20:58
Where are all the QT experts.
I don't know, here you only will find Qt experts.

I am not getting any response for last 2-3 queries i have posted here.Are these queries that strange.
I don't know about your last queries, but this one is hard to answer since you don't give any hints on how you show the dialogs etc. And for me it's much harder since my crystal ball is under repair right now...

Possible solutions: start the file dialog non modal and rise the keybord or make the keyboard a child of the file dialog.

vjsharma_30
10th March 2010, 23:16
You don't have to repair your crystal ball :)
I am opening the file dialog as non modal only. If i make the file dialog as the parent of the keyboard it overlaps the file dialog,means it resides in the file dialog.I tried the following
//m_keyBoardDialog->setWindowFlags(Qt::WindowStaysOnTopHint);

and
//m_keyBoardDialog->raise();
//m_keyBoardDialog->activateWindow();
But nothing is working.

vjsharma_30
15th March 2010, 22:12
i think i should change my status from Novice to Expert as all the experts here are not able to solve this trivial problem.
Now i can say it is trivial as its been fixed.
I have set the window flag for the file dialog

m_filedialog->setWindowFlags(Qt::Window);
So file dialog will be treated as a normal window. And any window invoked from this file dialog will open on the top of it.