QT根据屏幕分辨率调整控件

  1. 通过 屏幕大小 比例的缩放 调整,并设置最小大小及最大大小
QRect DSystemData::GetCurrentRect(const QRect &rectOrgin, const QSize &sizeMin){
    QRect rectnew = rectOrgin;
    double dwidthratio = m_RectAvailableDesktop.width()/m_RectOrginScreen.width();  // 缩放比例
    int iwidth = MaxNumber(rectOrgin.width()*dwidthratio, sizeMin.width());  // 和基准值比,设定不能小于最小宽度
    iwidth = iwidth > rectOrgin.width()? rectOrgin.width(): iwidth;  // 当分辨率较大时,限制最大大小
    rectnew.setWidth(iwidth);

    double dheightratio = m_RectAvailableDesktop.height()/m_RectOrginScreen.height();
    int iheight = MaxNumber(rectOrgin.height()*dheightratio, sizeMin.height());
    iheight = iheight > rectOrgin.height() ? rectOrgin.height() : iheight;
    rectnew.setHeight(iheight);
    return rectnew;
}
  1. 通过控件本身的函数
ui.scrollArea->setFixedSize()
  1. 通过setStyleSheet 调整
this->setStyleSheet(QString("*{font-size: %1px} \
	QToolButton#toolButton{font-size:14px} \
	QPushButton#pushButton_GeneralExam{min-width: %2px} \
	QFrame#frame_Menu{min-width:%3px}")                          .arg(ifontsize).arg(ipushbuttongeneralexam).arg(iframebloodwidth));
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值