• 4639阅读
  • 4回复

如何使QT程序自动适应多个resolution? [复制链接]

上一主题 下一主题
离线burning423
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-04
我现在需要写一个QT程序,用来自动适应多个不同resolution。初学QT,不知道该怎么做才会比较简单。我本想用qt style sheet,但我试了下,似乎用这个并不能精确定义某个控件放置的位置。
同时,在这个界面上,我还要放置许多图片,每个图片的大小事件不知道,请问下,我该如何来显示这些图片呢?如果使用QLabel,那么怎么设置QLabel,才能让这个QLabel依据图片的大小来完全显示这个图片呢?

谢谢
离线午小夜

只看该作者 1楼 发表于: 2010-03-04
用這樣的方法:
    m_iScreenWidth = qApp->desktop()->screenGeometry().width();
    m_iScreenHeight = qApp->desktop()->screenGeometry().height();

    this->setFixedSize((int)((double)800/1024*m_iScreenWidth),(int)((double)700/768*m_iScreenHeight));

程序在 1024*768的分辨率下設計的。以這個分辨率為基礎進行拉伸。
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线burning423

只看该作者 2楼 发表于: 2010-03-04
嗯,这里有个小问题,就是如果一个界面贴图多了,这样拉伸的话,是否会导致图片的失真?或是界面变形。我现在的理解是,最好是通过一个比较简单的配置文件,在这个配置文件中,定义了各组件的坐标及大小,然后对于不同的resolution,加载不同的配置文件,这样就能实现不一样的界面了。但是qt style sheet好像没有提供这个功能啊。。。郁闷。。。
离线kingnight
只看该作者 3楼 发表于: 2010-03-04
想法好,XML也可以,不过前期准备貌似也很麻烦
离线burning423

只看该作者 4楼 发表于: 2010-03-04
你指的前期准备是什么意思?
快速回复
限100 字节
 
上一个 下一个