c++ - Mac 和 Windows/Linux 之间的不同布局(相同的 *.ui 文件)

标签 c++ linux windows macos qt

我正在使用 Qt Framework 部署我的应用程序。 布局行为在 Windows 和 Linux 中是相同的;如果我调整窗口的大小,布局就会适应。这不会发生在 Mac OS 中。为了针对 Mac 进行开发,我使用了虚拟机(分辨率为 1024x768),但是,当我尝试在“真正的”Mac(分辨率最大)中启动我的包时,结果很糟糕!

放几张图:

MAC - 虚拟机 (1024x768) - 第一个选项卡(确定)

MAC - virtual machine (1024x768) - First tab (OK)

MAC - 虚拟机 (1024x768) - 第二个选项卡(不正常)**

MAC - virtual machine (1024x768) - Second tab (Not OK)

**第二个标签“Rubrica Contatti”的设计类似于第一个标签“Ricettario”。在设计器中,第二个选项卡似乎没问题,但在运行时不行!

我尝试创建一个新项目进行测试。 我已经使用表单布局设置了中央小部件。 我创建了 2 个包含这些项目的小部件(每个小部件都有一个网格布局):

  • 线路编辑
  • 组合框
  • 包含 2 个标签和 2 个复选框的 GroupBox(带有网格布局)

所有这三个项目都集中在垂直布局中。我将左边的小部件放在 QSizePolicy::Minimum 中,将右边的小部件放在 QSizePolicy::Preferred 中。在 Qt Designer 中,左侧面板较小,右侧面板水平放大。当我启动应用程序时,两个小部件具有相同的宽度并且位于窗口的中央。

Note:
When I open any project, I get this text in "General Messages" .

Warnings while parsing QML type information of /Users/denny/Qt/5.5/clang_64/qml:  
<dump of /Users/denny/Qt/5.5/clang_64/qml>:1:24: Reading only version 1.1 parts.  
<dump of /Users/denny/Qt/5.5/clang_64/qml>:10:5: Expected only Component and ModuleApi objects definitions. 

会不会是这个原因?

最佳答案

问题仍然存在,但它解决了(暂时)......

QApplication::setStyle("fusion");  

我的应用不会使用 Mac 主题,但会使用 Fusion 主题...

Note:
The graphic is uglier, but it works!

关于c++ - Mac 和 Windows/Linux 之间的不同布局(相同的 *.ui 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34089758/

相关文章:

c++ - 没有项目的VS中的Linux头文件

c++ - 服务器和客户端在同一台机器上,无环回

c++ - 根据范围(类、方法、全局...)的变量命名约定

c++ - 将未知文件格式打印到屏幕

c++ - 用c++写汇编代码

c++ - 如何在 Windows 上安装 TensorFlow?

c++ - Windows 到 Linux 中的枚举声明

c++ - 有选择地忽略串行端口上的帧错误

python - 使用 Cython 将 Python 编译为 C

c - 在 Windows 中跨重启访问相同的资源