您的位置:首页 > 移动开发 > Android开发

Qt For Android 获取手机屏幕大小

2017-12-18 12:51 801 查看


获取方法

首先看一段程序代码:
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,这样就可以实现,程序窗口自适应屏幕大小了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息