1. 程式人生 > >Qt For Android 獲取手機螢幕大小

Qt For 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)
{
    width = iWidth;
    height = iHeight-50;
    ui->setupUi(this);
    this->setFixedSize(width,height);
    //......
}

OK,這樣就可以實現,程式視窗自適應螢幕大小了。