【发布时间】:2017-12-05 08:32:08
【问题描述】:
在 Qt 5.5.1 (Linux) 中,我将处于最大化状态的主窗口显示为:
QApplication a(argc, argv);
MainWindow w;
w.setWindowState(Qt::WindowMaximized);
w.show();
return a.exec();
在主窗口构造函数中,我调用CreateMenuBar,它只是创建了一些菜单:
fileMenu = menuBar()->addMenu(tr("&File"));
projectMenu = menuBar()->addMenu(tr("&Project"));
...
运行时,主窗口正确显示为最大化状态,但菜单栏缩短为:
一个奇怪的行为是,如果我通过单击窗口顶部的标准化按钮来标准化窗口,那么再次最大化确实会拉伸菜单栏。
我错过了什么?
【问题讨论】:
-
如果在设置窗口状态之前调用
show()会怎样? -
@vahancho,它解决了这个问题。你能写一个答案并解释背后的逻辑吗?因为这对我来说似乎不合理。
-
在 Ubuntu 16.04 上运行良好。可能是 Qt 错误。
-
@aatwo,Qt版本是多少?
-
使用 Qt 5.6.3 在 Ubuntu 16.04 上测试
标签: qt qmainwindow