c++ - Qt:showMaximized() 在 Windows 中不工作

标签 c++ windows qt file-association

我正在通过双击在我的应用程序(在Windows)中打开一个文件。我将通过参数接收到的文件名传递给我的开放逻辑。我正在调用 showMaximized(),但它没有被接收到。打开的窗口未最大化,默认位于屏幕的左上角。

请注意,所有这些逻辑流都是通过 ma​​in() 进行的,因此 showMaximized() 可能在事件循环开始之前被调用。这是否会阻止 showMaximized() 正常工作?如果是,如何解决?

我也尝试过使用 QTimer::singleShot(0,...,...)(以便让事件循环开始)但这甚至停止了非最大化屏幕。

PS:在 Mac 中,屏幕通过事件 (QEvent::FileOpen) 发生最大化

最佳答案

最简单的解决方法是在使用 showMaximized() 之前使用 resize(800,600)。我在 Windows 8.1 上的 Qt 5.7.0 中有类似的错误。

关于c++ - Qt:showMaximized() 在 Windows 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27157312/

相关文章:

c++ - 使用 winsock 设置主机名?

c++ - 如何在 'C' 之前释放 Ctrl 时使用 Qt 捕获 Ctrl+C 键事件?

c++ - 并行 OpenMP 缩减与函数定义?

python - 为什么 Python 扩展模块需要在 Windows 上用 MSVC 编译?

c++ - Qt 中的 PCL addLine 使应用程序崩溃

c++ - QObject内存管理和智能指针

c++ - 使用 Swig 将 std::set 转换为 ruby

c++ - 在 C++ 中反转字符串

c++ - 使用模板的动态多态行为?

C++ Windows 凭据提供程序错误屏幕