当前位置:首页 > 芯闻号 > 充电吧
[导读]网上大多数都是那一套公式,不适合拉伸布局,假如有一张图片或者一个被固定了大小的控件或图片,那么可能会失真,下面是自己实现的自适应,非常好用的说。而且网上大多数Qt quick开发群心高气傲,根本不要人

网上大多数都是那一套公式,不适合拉伸布局,假如有一张图片或者一个被固定了大小的控件或图片,那么可能会失真,下面是自己实现的自适应,非常好用的说。而且网上大多数Qt quick开发群心高气傲,根本不要人加入。很多东西可以自己研究的,乐于分享的人太少 一句话,没图说个JB,开干!

下面写一个Col容器,宽度是固定的,这种情况下,在各种移动平台下会差别很大,不过根据我的算法就解决了,320*480是我写代码设计界面时用的界面size,在安卓上,size会根据系统的分辨率而不同,因此在代码中把320*480作为模板,换了系统会计算比例

import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.3
//import QtQuick.Extras 1.4
import "./UI.js"  as Mui
ApplicationWindow {

    id:root;
    width: 320;
    height: 480;
    visible: true;
     //获取最终dpi
      //     targetDensitydpi = uiWidth / deviceWidth * devicePixelRatio * 160;
//Screen.devicePixelRatio



    Component.onCompleted: {

    }
    property real pixelDensity: 4.46 
    property real multiplierH: root.height/480 //default multiplier, but can be changed by user
     property real multiplierW: root.width/320 //default multiplier, but can be changed by user
    function dpH(numbers) {

        return Math.round(numbers*((pixelDensity*25.4)/160)*multiplierH);
    }
    function dpW(numbers) {

        return Math.round(numbers*((pixelDensity*25.4)/160)*multiplierW);
    }


    Label{

           anchors.centerIn: parent
           id:label;
           text: "..";
    }

    //固定宽高自适应屏幕
        Column{

            spacing: dpH(1);
            width: dpW(440);
            Repeater{
                model: 17;
                delegate:Rectangle{
                    width: parent.width;
                    height:dpH(40);


                    color: "#2a9f8d"
                    Text {

                        color: "white";
                        font.bold: true;
                        font.pointSize:14;
                        text:index+ ",标题dp3+"+parent.height+","+multiplierH+","+multiplierW+",";
                        anchors.centerIn: parent;
                    }
                }
            }

        }




}

注意,设计中我把界面右边留了空白 最后一行为第16列并且显示不完全.这样容易看出差异:
在电脑上的效果,此时程序的窗口大小是320*480

在电脑上手动调整界面大小的效果,此时程序的窗口大小未知

在安卓模拟器上的效果,分辨率是1280*720 192dpi

来一段显示图片的代码,好用不失真

    Column{
        spacing: dpH(1);
        width: parent.width;
        Repeater{
            model: 5;
            delegate: BorderImage {
                id: name
                source: "astop.png"
                width: dpW(72); height: width
                border.left: dpW(1); border.top: dpH(1)
                border.right: dpW(1); border.bottom: dpH(1)
            }
        }
    }


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

昨天下午,联发科发布了旗下首款集成5G调制解调的智能手机SoC移动平台——天玑1000。抓紧发芯片,至少在此时此刻能说一句,我最强。怎么形容联发科呢?他可能是属于那种,起手扔个大王,随后单走一张三,杂牌过招三巡,气势渐弱...

关键字: 智能手机 5G 移动平台

SIXT管理委员会批准整体可持续发展计划,以进一步加快二氧化碳减排和智能新能源出行需求 到2030年, SIXT在欧洲车队中的新能源车将达到70%至90% 投资5000万欧元:公司将大...

关键字: 可持续发展 新能源汽车 应用程序 移动平台

就在昨天,联发科毫无征兆的发布了新的旗舰级处理器天玑9000+,全面对标高通骁龙8+。

关键字: 安卓 骁龙 移动平台

(全球TMT2022年3月3日讯)三星宣布,高通技术公司(Qualcomm Technologies, Inc.)已经验证了三星14纳米(nm) 16Gb低功耗双倍数据速率5X (LPDDR5X) DRAM,并应用于高...

关键字: 移动平台 三星 DRAM

每年安卓旗舰的各方面表现如何,只要了解事先发布的骁龙旗舰移动平台便可窥知一二。一直以来,新平台的性能如何,都是各方率先关注的话题。

关键字: 安卓 骁龙 移动平台

12月1日,在2021骁龙技术峰会期间,高通技术公司推出全新顶级5G移动平台——全新一代骁龙®8移动平台。

关键字: 骁龙8 移动平台

摘 要 :为解决制鞋行业中喷胶精度不高、灵活性差、生产效率低的问题,设计一种基于机器视觉的鞋模喷胶系统。该系统硬件由工业摄像头、工控机及路由器构成,软件则采用图像识别库 OpenCV 与图形界面应用程序开发框架 Qt 编...

关键字: 机器视觉 图像处理 鞋模 喷胶 OpenCV QT

摘 要:利用二维码技术对零备件身份信息进行编码,对零备件实物个体进行身份识别,每个零备件实体都有一个唯一的二维码。该码综合每一个零备件的采购、领用出库、使用过程数据、生命周期数据、损坏更换等信息,解决备件管理中存在的基础...

关键字: 零备件唯一二维码 全生命周期管理 移动平台 备件库存占比

嵌入式系统是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

关键字: QT 嵌入式 C++

摘 要:仓储作为物流与供应链的核心环节,对食品安全的控制起着至关重要的作用。温湿度是影响粮食仓储过程安全与品质的重要因素。文中使用无线传感网络进行数据采集,通过Qt平台设计软件系统,并借助数据库进行数据存储与分析处理,实...

关键字: 成品粮 仓储 温湿度监测 无线传感网络 QT
关闭
关闭