Qt For Android 獲取手機螢幕大小
阿新 • • 發佈:2019-02-02
獲取方法
首先看一段程式程式碼:
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,這樣就可以實現,程式視窗自適應螢幕大小了。