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

标签 qt

假设我有一个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;
}

关于qt - 如何确保 QWidget 在屏幕外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10717727/

相关文章:

javascript - 使用表格 API 和 XMLHttpRequest 将请求正文发送到 google 表格

c++ - 如何正确报告 Linux 中另一个进程的突然结束?

c++ - 主窗口打开后显示一个按钮

c++ - 如何为 QListView 中列表项的边框设置动画?

Qt:是否可以将信号连接到 Qt 设计器中的信号

python - 如何重新排列 QTableView 的列顺序

c++ - 使用 Qt ARM 预构建二进制文件进行交叉编译

c++ - 使用 connect 方法连接到插槽

c++ - 在 C++ 中的键/值对中按值快速反向查找的建议方法

qt - 如何在Qmake项目中向MOC添加特定标志?