Qt 布局-1

本文介绍了如何在Qt应用中使用QHBoxLayout和QVBoxLayout进行水平和垂直布局,同时处理窗口的无边框设置、尺寸计算以及屏幕分辨率获取。
摘要由CSDN通过智能技术生成

记录一下,自用  

主要涉及到 水平布局和垂直布局 的代码实现 ,一些基本的操作函数

 //实例化对象
    windowStyle =new WindowStyle(this);
    _01=new MyPushButton_01("开始");
    _02=new MyPushButton_02("结束");
    _03=new MyPushButton_02("后续");
    QHBoxLayout *controlHLayout = new QHBoxLayout();
    controlHLayout->addWidget(_01);
    controlHLayout->addWidget(_02);
    _01->setFixedHeight(71);
    _01->setFixedWidth(71);

    _02->setFixedHeight(171);
    _02->setFixedWidth(171);



    QVBoxLayout *controlVLayout = new QVBoxLayout();
    controlVLayout->addWidget(_03);
    controlVLayout->setMargin(100);
    controlVLayout->setSpacing(100);
    controlVLayout-> addLayout(controlHLayout);

    this->setLayout(controlVLayout);

    //
    this->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);  //窗体设置为无边框-同时不能移动
    // this->setStyleSheet("QWidget#WaterQualityDetectorWidget{color:rgb(255, 255, 255);background-color: rgb(255, 255, 255)}");  //改变字体颜色为白色,

    double virtualWidth = 0, virtualHeight = 0;
    double availableWidth = 0, availableHeight = 0;
    double screenWidth = 0, screenHeight = 0;
    QDesktopWidget *deskWgt = QApplication::desktop();


    if (deskWgt) {
        // 获取屏幕——分辨率 两种方式
        virtualWidth = deskWgt->width();
        virtualHeight = deskWgt->height();
        // qDebug() << "获取屏幕——分辨率 width:" << qApp->desktop()->width();
        // qDebug() << "获取屏幕——分辨率 height:" << qApp->desktop()->height();
        qDebug() << "virtual width:" << virtualWidth << ",height:" << virtualHeight << endl;
        //获取 客户信息区 两种方式
        QRect availableRect = deskWgt->availableGeometry();
        availableWidth = availableRect.width();
        availableHeight = availableRect.height();
        // qDebug() <<"获取 客户信息区 width:" << qApp->desktop()->availableGeometry().width();
        //qDebug() << "获取 客户信息区 height:" << qApp->desktop()->availableGeometry().height();
        qDebug() << "available width:" <<availableWidth << ",height:" << availableHeight << endl;

        //获取 应用程序 矩阵大小 两种方式
        QRect screenRect = deskWgt->screenGeometry();
        screenWidth = screenRect.width();
        screenHeight = screenRect.height();
        qDebug() << "获取 应用程序 矩阵大小 width:" << qApp->desktop()->screenGeometry().width();
        qDebug() << "获取 应用程序 矩阵大小 height:" << qApp->desktop()->screenGeometry().height();

        qDebug() << "screen width:" <<screenWidth << ",height:" << screenHeight << endl;
        // this->setMinimumSize(screenWidth, screenHeight);//设定窗口大小 ——更具设备大小 如 手机/电脑 是不同的
        this->setMinimumSize(1000, 1000);//设定窗口大小 ——更具设备大小 如 手机/电脑 是不同的
setWindowIcon(QIcon(":/new/prefix1/123/1.png"));  //窗口图标 QIcon 传入的图片路径

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值