常用窗口api
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QLabel>
#include <QGridLayout>
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
private:
QGridLayout *layout;
QLabel *label1;
QLabel *label1_1;
QLabel *label2;
QLabel *label2_1;
QLabel *label3;
QLabel *label3_1;
QLabel *label4;
QLabel *label4_1;
QLabel *label5;
QLabel *label5_1;
//窗口大小变化事件
void resizeEvent(QResizeEvent *event) override;
//窗口移动事件
void moveEvent(QMoveEvent *event) override;
public:
//更新标签内容
void updateLabel();
};
#endif // DIALOG_H
#include "dialog.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
this->setWindowTitle("窗体常用api");
this->resize(300,200);
layout=new QGridLayout(this);
label1=new QLabel("geometry:");
label1_1=new QLabel();
label2=new QLabel("width:");
label2_1=new QLabel();
label3=new QLabel("height:");
label3_1=new QLabel();
label4=new QLabel("rect:");
label4_1=new QLabel();
label5=new QLabel("size:");
label5_1=new QLabel();
layout->addWidget(label1,0,0);
layout->addWidget(label1_1,0,1);
layout->addWidget(label2,1,0);
layout->addWidget(label2_1,1,1);
layout->addWidget(label3,2,0);
layout->addWidget(label3_1,2,1);
layout->addWidget(label4,3,0);
layout->addWidget(label4_1,3,1);
layout->addWidget(label5,4,0);
layout->addWidget(label5_1,4,1);
updateLabel();
}
//窗口大小变化事件
void Dialog::resizeEvent(QResizeEvent *event) {
updateLabel();
}
//窗口移动事件
void Dialog::moveEvent(QMoveEvent *event){
updateLabel();
}
void Dialog::updateLabel(){
QString str;
QString str1;
QString str2;
QString str3;
QString str4;
str1.setNum(this->geometry().x());//它描述了窗口部件在屏幕上的实际矩形区域。
str2.setNum(this->geometry().y());
str3.setNum(this->geometry().width());
str4.setNum(this->geometry().height());
str=str1+" "+str2+" "+str3+" "+str4;
label1_1->setText(str);
QString strw,strh;
label2_1->setText(strw.setNum(this->width()));
label3_1->setText(strh.setNum(this->height()));
QString strrect;