标题:Qt如何实现分辨率自适应
只看楼主
lamtankai
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-6-16
结帖率:0
已结贴  问题点数:20 回复次数:4 
Qt如何实现分辨率自适应
void Widget ::resetGrid(QWidget *widget,double factorx,double factory)
{
    int widgetX = widget->x();
    int widgetY = widget->y();
    int widgetWid = widget->width();
    int widgetHei = widget->height();
    int nWidgetX = (int)(widgetX*factorx);
    int nWidgetY = (int)(widgetY*factory);
    int nWidgetWid = (int)(widgetWid*factorx);
    int nWidgetHei = (int)(widgetHei*factory);
    widget->setGeometry(nWidgetX,nWidgetY,nWidgetWid,nWidgetHei);
}
这是网上的一种方法  但这种方法要每一个控件都需调用一次这个函数  太麻烦 并且解决不鸟字体的变化
还有种方法是用代码写布局  但我要用UI界面  所以也不行
请教各位大神  你们是如何解决分辨率的问题的
搜索更多相关主题的帖子: widget void factory double 分辨率 
2013-04-28 10:41
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:20 
以下是获得终端的分辨率的代码:但要开发自适应界面,要用到layout,layout就是为自适应界面而设计的

#include <QtGui/QApplication>
#include "myMainScreen.h"
#include <QDesktopWidget>

int main(int argc, char *argv[])
{
  QApplication a(argc, argv);

QDesktopWidget *desktop = a.desktop();
int screen_number = desktop->primaryScreen();
QRect rect = desktop->screenGeometry(screen_number);

Maybe
2013-04-30 21:11
wuchong120
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-6-14
得分:0 
正在研究这块的问题。。。。还不太懂!!
2013-06-14 10:28
黄药师与宋缺
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-7-18
得分:0 
有也这个疑问,求高手说一说
2013-07-19 00:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-405816-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.548830 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved