qt中文字跟随控件的大小进行自动缩放

  1. 记录下初始控件文字和窗口的初始大小
m_font_size_ = ui->label->font().pointSize();
m_base_width = this->width();
  1. 重写窗口的resizeEvent事件
double width = this->width();
double ratio = width / m_base_width;
double newFontSize = (m_font_size_ * 1.0) * ratio;
auto font = ui->label->font();
font.setPointSize(newFontSize);
ui->label->setFont(font);
  1. 优化
上述代码只根据宽度进行缩放,可以增加一条高度记录,如果宽度没有变化则判断高度是否变化,反之亦然。
posted @ 2022-06-07 07:59  清楚xc  阅读(915)  评论(0)    收藏  举报