关于控件坐标(相对以及绝对)以及大小获取方式有多种,使用场景自行尝试。
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
setWindowFlags(Qt::FramelessWindowHint);
}
Widget::~Widget()
{
delete ui;
}
void Widget::resizeEvent(QResizeEvent *event)
{
qDebug() << "resizeEvent()" << "\n";
qDebug() << "event->size(): " << event->size() << "\n";
qDebug() << "this's size: " << this->size();
qDebug() << " frameSize: " << this->frameSize();
qDebug() << " frameGeometry: " << this->frameGeometry();
qDebug() << " geometry: " << this->geometry();
qDebug() << " rect: " << this->rect();
qDebug() << " pos: " << this->pos() ;
qDebug() << " mapToGlobal: " << this->mapToGlobal(QPoint(0, 0)) << "\n";
qDebug() << "ui->listWidget->size: " << ui->listWidget->size();
qDebug() << " frameSize: " << ui->listWidget->frameSize();
qDebug() << " frameGeometry: " << ui->listWidget->frameGeometry();
qDebug() << " geometry: " << ui->listWidget->geometry();
qDebug() << " rect: " << ui->listWidget->rect();
qDebug() << " pos: " << ui->listWidget->pos() << "\n";
}
void Widget::moveEvent(QMoveEvent *event)
{
qDebug() << "moveEvent()";
qDebug() << "event->pos: " << event->pos();
qDebug() << "event->globalPos:" << mapToGlobal(event->pos());
qQNaN();
}