c++ - 在 Mac OS 上禁用窗口

标签 c++ macos qt cocoa user-interface

如何从 Qt 应用程序禁用 Mac OS 上的窗口以使其无法移动?我没有找到任何好的跨平台方式,因此尝试使用 EnableWindow 为 Windows 单独执行它并且它有效。 Mac OS 有什么办法?

最佳答案

没有跨平台的方法来防止窗口移动。但是您可以重写 QWidget::moveEvent,例如:

void MyWindow::moveEvent(QMoveEvent *event)
{

    if (event->pos() != QPoint(100,100))
          move(QPoint(100,100));

}

直到松开鼠标才会更新。

另一种方法是为窗口设置 Qt::FramelessWindowHint 标志并呈现您的自定义标题栏。

关于c++ - 在 Mac OS 上禁用窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24008419/

相关文章:

c++ - 保留模距离的符号

qt - 如何让不倒翁到 'base style'

python - High Sierra + Python + Postgresql 错误 : Illegal instruction: 4

c++ - 如何配置 Qt Creator 以在 Windows 中使用 Boost

c++ - 无法在QT编辑器中创建调试引擎

c++ - 如何创建自定义 boost::posix_time to_string 格式化程序?

c++ - 包括 <exception> header C++

android - 如何将 32 位 .so 文件转换为适用于 Android 的 64 位 .so 文件

cocoa - 单击按钮时未调用 IBAction

objective-c - NSRuleEditor 的指南或示例?