程序
#ifndef GEOMETRY_H
#define GEOMETRY_H
#include <QDialog>
#include <QLabel>
#include <QGridLayout>
class Geometry : public QDialog
{
Q_OBJECT
public:
Geometry(QWidget *parent = 0);
~Geometry();
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 *);
void resizeEvent(QResizeEvent *);
};
#endif
#include "geometry.h"
Geometry::Geometry(QWidget *parent)
: QDialog(parent)
{
setWindowTitle("Geometry");
xlabel=new QLabel("x():");
xValuelabel=new QLabel;
ylabel=new QLabel("y():");
yValuelabel=new QLabel;
Frmlabel=new QLabel("Frame():");
FrmValuelabel=new QLabel;
poslabel=new QLabel("pos():");
posValuelabel=new QLabel;
geolabel=new QLabel("geometry():");
geoValuelabel=new QLabel;
widthlabel=new QLabel("width():");
widthValuelabel=new QLabel;
heightlabel=new QLabel("height():");
heightValuelabel=new QLabel;
rectlabel=new QLabel("rect():");
rectValuelabel=new QLabel;
sizelabel=new QLabel("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(poslabel,2,0);
mainLayout->addWidget(posValuelabel,2,1);
mainLayout->addWidget(Frmlabel,3,0);
mainLayout->addWidget(FrmValuelabel,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())+","+tempStr34.setNum(rect().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();
}
效果展示