注册 登录
编程论坛 QT论坛

Qt如何实现分辨率自适应

lamtankai 发布于 2013-04-28 10:41, 2410 次点击
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界面  所以也不行
请教各位大神  你们是如何解决分辨率的问题的
4 回复
#2
邓士林2013-04-30 21:11
以下是获得终端的分辨率的代码:但要开发自适应界面,要用到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);
#3
wuchong1202013-06-14 10:28
正在研究这块的问题。。。。还不太懂!!
#4
黄药师与宋缺2013-07-19 00:03
有也这个疑问,求高手说一说
1