繁体   English   中英

QT无模式对话框窗口对移动命令无响应

[英]QT Modeless dialog window dos'nt response to the move command

我在应用程序中使用无模式对话框,当我尝试从MainWindow使用无模式对话框移动命令时
无模式对话框甚至没有显示出来,为什么? (顺便说一句,如果我删除了移动命令,那么一切正常,当我被调用时可以看到对话框,我尝试将其移到系统托盘时代。
这里是一些代码: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();

由于对话框具有父级,因此move()所采用的坐标是相对于父级小部件的。 您的系统托盘坐标可能是全局的? 然后使用QWidget :: mapFromGlobal()映射它们。

似乎您正在将对话框移动到系统托盘的左上角。 move命令将对话框的左上角放在告诉它移动的位置。 如果Frank的全局-本地更改没有改变 ,则可能是系统托盘始终在对话框上方绘制(因此不允许显示该对话框)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM