• 6405阅读
  • 4回复

[提问]qt界面大小调整 [复制链接]

上一主题 下一主题
离线梦幻情缘
 

只看楼主 倒序阅读 楼主  发表于: 2018-11-13
请问各位大佬,我在移植qt程序到开发板上,运行程序的时候总是全屏显示,怎么才能调整窗口大小,程序里已经加入了改变窗口的语句
setFixedSize(365,240);
不过没有效果~
离线大漠之鹰

只看该作者 1楼 发表于: 2018-11-13
现在Qt5的LinuxFb和eglfs只支持全屏显示,可以使用qtwayland来实现多窗口显示,不过需要opengl支持
本是后山人,偶作前堂客,醉舞经阁半卷书,坐井说天阔。大志戏功名,海斗量福祸,论到囊中羞涩时,怒指乾坤错
QQ:874164244
离线笑颜

只看该作者 2楼 发表于: 2018-11-14
应该是这样的: 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写的代码都可以直接运行,性能也不错,自带中文输入法。算是帮公司打个广告,毕竟这个东西是我写的,哈哈哈哈
离线cycloveu

只看该作者 3楼 发表于: 2018-11-14
回 笑颜 的帖子
笑颜:应该是这样的: Qt5在没有窗口管理的系统上,至少有一个窗口全屏,因此哪个窗口第一个显示,那么那个窗口就会被全屏。并且任意窗口都没有边框,因此需要你自己实现关闭最大化移动等效果
所以,解决办法就是: 在你主窗口显示之前先窗口一个任意的窗口作为桌面,比如QLabel(可以 .. (2018-11-14 09:00) 

元心 前生是MeeGo吧
大道至简 悟在天成
离线笑颜

只看该作者 4楼 发表于: 2018-11-14
回 cycloveu 的帖子
cycloveu:元心 前生是MeeGo吧 (2018-11-14 10:55) 

啥?你在说啥?
快速回复
限100 字节
 
上一个 下一个