首页| 论坛| 消息

标题:qt界面大小调整
作者:梦幻情缘
日期:2018-11-13 13:46
内容:

请问各位大佬,我在移植qt程序到开发板上,运行程序的时候总是全屏显示,怎么才能调整窗口大小,程序里已经加入了改变窗口的语句
setFixedSize(365,240);
不过没有效果~


#1 [大漠之鹰 11-13 14:27]
现在Qt5的LinuxFb和eglfs只支持全屏显示,可以使用qtwayland来实现多窗口显示,不过需要opengl支持
#2 [笑颜 11-14 09:00]
应该是这样的: 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写的代码都可以直接运行,性能也不错,自带中文输入法。算是帮公司打个广告,毕竟这个东西是我写的,哈哈哈哈
#3 回 笑颜 的帖子 [cycloveu 11-14 10:55]
笑颜:应该是这样的: Qt5在没有窗口管理的系统上,至少有一个窗口全屏,因此哪个窗口第一个显示,那么那个窗口就会被全屏。并且任意窗口都没有边框,因此需要你自己实现关闭最大化移动等效果

所以,解决办法就是: 在你主窗口显示之前先窗口一个任意的窗口作为桌面,比如QLabel(可以 .. (2018-11-14 09:00) 
元心 前生是MeeGo吧
#4 回 cycloveu 的帖子 [笑颜 11-14 17:23]
cycloveu:元心 前生是MeeGo吧 (2018-11-14 10:55) 
啥?你在说啥?

回复 发表
主题 版块