码迷,mamicode.com
首页 > 移动开发 > 详细

Qt For Android 如何获取手机屏幕大小

时间:2015-05-11 10:52:18      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:android   火狐   

获取方法

首先看一段程序代码:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();

    return a.exec();
}

a为应用程序,w为对话框;我们获取屏幕大小,需要从变量a这里获取;

    QScreen *iScreen = a.primaryScreen();
    QSize rScreenSize = iScreen->size();

虽然把屏幕大小获得了,但是我们改变UI大小的程序在Dialog w里面;这时候我们需要重载Dialog,将获得尺寸传入Dialog里面,首先在头文件dialog.h中修改如下代码

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;
};

将上述代码改为

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(int iWidth,int iHeight,QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;
    int width;
    int height;
};

同时,修改dialog.cpp为

Dialog::Dialog(int iWidth,int iHeight,QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    widht = iWidth;
    height = iHeight-50;
    ui->setupUi(this);
    this->setFixedSize(width,height);
    //......
}

OK,这样就可以实现,程序窗口自适应屏幕大小了,但是这样有个弊端:窗体中所添加的所有空间,都必须随着窗体的变化,而发生变化,这样可能导致程序开发变的更繁琐和复杂了。

Qt For Android 如何获取手机屏幕大小

标签:android   火狐   

原文地址:http://blog.csdn.net/ieczw/article/details/45640687

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!