3

があると仮定します。QPushButtonボタンを押すと、が表示されますQFrame。ボタンが画面の端に近づくと、一部QFrameが見えなくなります。QFrameがウィンドウの外にあることを確認するにはどうすればよいですか?

4

1 に答える 1

3

一般的には、次の検出方法が必要になることを願っていますQWidget..

bool IsOutOfDesktop(QWidget *w)
{
    QDesktopWidget *desktopWidget = QApplication::desktop();
    QRect screenRect = desktopWidget->screenGeometry(&w);
    QPoint topLeft = w.mapToGlobal(w.geometry().topLeft());
    QPoint bottomRight = w.mapToGlobal(w.geometry().bottomRight());

   if(!screenRect.contains(topLeft) || !screenRect.contains(bottomRight))
        return true;

   return false;
}
于 2012-05-23T10:39:10.320 に答える