应该是这样的: Qt5在没有窗口管理的系统上,至少有一个窗口全屏,因此哪个窗口第一个显示,那么那个窗口就会被全屏。并且任意窗口都没有边框,因此需要你自己实现关闭最大化移动等效果
所以,解决办法就是: 在你主窗口显示之前先窗口一个任意的窗口作为桌面,比如QLabel(可以添加一些东西作为背景)。
代码如下:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel ww(QStringLiteral("桌面窗口"));
ww.show();
MainWindow w;
w.move(100, 100);
w.resize(300, 300);
w.show();
return a.exec();
}
当然,推荐使用有窗口管理的系统,比如国产嵌入式实时操作系统SylixOS,带有Qt5支持,利用qtwayland模块,搭建一款窗口管理,几乎所有Qt5写的代码都可以直接运行,性能也不错,自带中文输入法。

算是帮公司打个广告,毕竟这个东西是我写的,哈哈哈哈