Qt 6.3.1 显示界面元素

Qt 6.3.1 显示界面元素

geometry.cpp

#include "geometry.h"

Geometry::Geometry(QWidget *parent)
    : QDialog(parent)
{
    setWindowTitle(tr("Geometry"));
    xLabel = new QLabel(tr("x():"));
    xValueLabel = new QLabel;
    yLabel = new QLabel(tr("y():"));
    yValueLabel = new QLabel;
    FrmLabel = new QLabel(tr("Frame"));;
    FrmValueLabel = new QLabel;
    posLabel = new QLabel(tr("pos():"));;
    posValueLabel = new QLabel;
    geoLabel = new QLabel(tr("geometry():"));;
    geoValueLabel = new QLabel;
    widthLabel = new QLabel(tr("width():"));;
    widthValueLabel = new QLabel;
    heightLabel = new QLabel(tr("height():"));;
    heightValueLabel = new QLabel;
    rectLabel = new QLabel(tr("rect():"));;
    rectValueLabel = new QLabel;
    sizeLabel = new QLabel(tr("size():"));;
    sizeValueLabel = new QLabel;

    mainLayout = new QGridLayout(this);
    mainLayout->addWidget(xLabel, 0, 0);
    mainLayout->addWidget(xValueLabel, 0, 1);
    mainLayout->addWidget(yLabel, 1, 0);
    mainLayout->addWidget(yValueLabel, 1, 1);
    mainLayout->addWidget(FrmLabel, 2, 0);
    mainLayout->addWidget(FrmValueLabel, 2, 1);
    mainLayout->addWidget(posLabel, 3, 0);
    mainLayout->addWidget(posValueLabel, 3, 1);
    mainLayout->addWidget(geoLabel, 4, 0);
    mainLayout->addWidget(geoValueLabel, 4, 1);
    mainLayout->addWidget(widthLabel, 5, 0);
    mainLayout->addWidget(widthValueLabel, 5, 1);
    mainLayout->addWidget(heightLabel, 6, 0);
    mainLayout->addWidget(heightValueLabel, 6, 1);
    mainLayout->addWidget(rectLabel, 7, 0);
    mainLayout->addWidget(rectValueLabel, 7, 1);
    mainLayout->addWidget(sizeLabel, 8, 0);
    mainLayout->addWidget(sizeValueLabel, 8, 1);

    updateLabel();
}

Geometry::~Geometry()
{
}

void Geometry::updateLabel()
{
    QString xStr;
    xValueLabel->setText(xStr.setNum(x()));
    QString yStr;
    yValueLabel->setText(yStr.setNum(y()));
    QString frameStr;
    QString tempStr1, tempStr2, tempStr3, tempStr4;
    frameStr = tempStr1.setNum(frameGeometry().x()) + "," +
               tempStr2.setNum(frameGeometry().y()) + "," +
               tempStr3.setNum(frameGeometry().width()) + "," +
               tempStr4.setNum(frameGeometry().height());
    FrmValueLabel->setText(frameStr);
    QString positionStr;
    QString tempStr11, tempStr12;
    positionStr = tempStr11.setNum(pos().x()) + "," + tempStr12.setNum(pos().y());
    posValueLabel->setText(positionStr);
    QString geoStr;
    QString tempStr21, tempStr22, tempStr23, tempStr24;
    geoStr = tempStr21.setNum(geometry().x()) + "," +
             tempStr22.setNum(geometry().y()) + "," +
             tempStr23.setNum(geometry().width()) + "," +
             tempStr24.setNum(geometry().height());
    geoValueLabel->setText(geoStr);
    QString wStr, hStr;
    widthValueLabel->setText(wStr.setNum(width()));
    heightValueLabel->setText(hStr.setNum(height()));
    QString rectStr;
    QString tempStr31, tempStr32, tempStr33, tempStr34;
    rectStr = tempStr31.setNum(rect().x()) + "," +
              tempStr32.setNum(rect().y()) + "," +
              tempStr33.setNum(/*rect().width()*/ width()) + "," +
              tempStr34.setNum(/*rect().height()*/ height());
    rectValueLabel->setText(rectStr);
    QString sizeStr;
    QString tempStr41, tempStr42;
    sizeStr = tempStr41.setNum(size().width()) + "," + tempStr42.setNum(size().height());
    sizeValueLabel->setText(sizeStr);
}

void Geometry::moveEvent(QMoveEvent *)
{
    updateLabel();
}

void Geometry::resizeEvent(QResizeEvent *)
{
    updateLabel();
}

geometry.h

#ifndef GEOMETRY_H
#define GEOMETRY_H

#include <QDialog>
#include <QLabel>
#include <QGridLayout>

class Geometry : public QDialog
{
    Q_OBJECT

public:
    Geometry(QWidget *parent = nullptr);
    ~Geometry();

public:
    void updateLabel();

private:
    QLabel *xLabel;
    QLabel *xValueLabel;
    QLabel *yLabel;
    QLabel *yValueLabel;
    QLabel *FrmLabel;
    QLabel *FrmValueLabel;
    QLabel *posLabel;
    QLabel *posValueLabel;
    QLabel *geoLabel;
    QLabel *geoValueLabel;
    QLabel *widthLabel;
    QLabel *widthValueLabel;
    QLabel *heightLabel;
    QLabel *heightValueLabel;
    QLabel *rectLabel;
    QLabel *rectValueLabel;
    QLabel *sizeLabel;
    QLabel *sizeValueLabel;
    QGridLayout *mainLayout;

protected:
    void moveEvent(QMoveEvent *event);
    void resizeEvent(QResizeEvent *event);
};
#endif // GEOMETRY_H
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值