tags:

views:

33

answers:

2

Hello all im using Modeless dialog in my application , and when i try to use the Modeless dialog move command from the MainWindow
the Modeless dialog didint even show up,why ? (by the way if i remove the move command every thing works and i can see the dialog when called, i try to move it to the systray era.
here somecode: M

odelessDialog* ModelessDialog= new ModelessDialog(this);
ModelessDialog->setModal(false);
ModelessDialog->setAttribute(Qt::WA_DeleteOnClose);
int topLeft_x = m_SystrayReq.topLeft().x();
int topLeft_y = m_SystrayReq.topLeft().y();
// the valus of x & y are just fine .
        ModelessDialog->move(topLeft_x,topLeft_y);
        ModelessDialog->show();
+2  A: 

As the dialog has a parent, the coordinates move() takes are relative to the parent widget. Your systray coordinates are probably global? Then use QWidget::mapFromGlobal() to map them.

Frank
This is likely the case, which means that if his parent dialog is anywhere but in the extreme top-left corner, he's probably moved his dialog off-screen, which would account for not being able to see it at all.
Caleb Huitt - cjhuitt
A: 

It appears you are moving the dialog to be at the top-left corner of the system tray. The move command places the top-left corner of the dialog where you tell it to move. If Frank's global-local changes don't make a difference, it might be that the systray will always draw above your dialog (thus not allowing it to be shown).

Caleb Huitt - cjhuitt