qt - 如何确保 QWidget 在屏幕外?

假设我有一个QPushButton,如果我按下按钮,那么我将显示一个QFrame。当按钮靠近屏幕边缘时,QFrame 的某些部分将看不到。如何确保 QFrame 在窗口外?

最佳答案

我希望您一般需要以下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;
}

https://stackoverflow.com/questions/10717727/

相关文章:

asp.net - 读取已在 ASP.NET httpmodule 中设置的经典 ASP 中的服务器

xcode - 如何在 Xcode 分析和存档构建中设置 DEBUG 和 NDEBUG 宏?

django - 保存前更改表单实例 Django

wordpress - 如何在 Wordpress 中回显 100% 的 the_post?

git - 为什么提交后文件保留在索引中?

oracle - 使用 sqlloader 将 clob 列添加到 Oracle 数据库

authentication - 你将如何实现 "view site as a different

hibernate - 如何定义两个抽象类之间的 ManyToOne 关系

regex - 如何使用正则表达式查找字符串中出现的相同后续字符?

sql - 在所有列中搜索并找到一个字符串值