QLabel控件执行setFocusPolicy(Qt::ClickFocus)后点击控件,文本位置会出现上或下移动(不同版本不一样4.8.5会下移,QT5.12.10上移)
点击文本:
解决方法
重改paintEvent事件
void MyLabel::paintEvent(QPaintEvent *event)
{
// QLabel::paintEvent(event);
QPainter painter(this);
// 背景图片
if(ispicshow)
painter.drawPixmap(0,0,width(),height(),mpixmap);
if(mtxt != ""){
QString strShow = QString(mtxt);
QFont font = this->font();
painter.setFont(font);
painter.drawText(0, 0, this->width(), this->height(), int(alignment()), mtxt);
}
}