Qt调整分辨率让文字变大或变小后变化解决方案

前言

这个问题其实一般情况下都不用考虑好像。但是我遇到这个问题,于是就有了这俩种最优解决方案。

方案一:修改样式表

在样式表里固定文字大小,这样的化不论你如何调整分辨率,字体也不会有所影响。

代码段:

font: 24pt "Arial";/*24pt//是文字大小,"Arial"是文字字体样式*/

样图:

在这里插入图片描述

方案二:在主函数中添加代码段main()

效果方面于上面的差不多,但是是在主函数中,对于部分需要大一点的字体不太友好。那些需要不同大小的文字,还是样式表修改好一点。(PS:在样式表中设置了字体大小会覆盖代码设置的)

源码:

	QFont font(QStringLiteral("Tahoma"));   //设置字体
	font.setPixelSize(25); //设置字体大小
	qApp->setFont(font);//设置到应用程序中

样图:

在这里插入图片描述

文字随着窗口变化百分比扩大缩小算法

(PS:放到全局事件中,要判断大小是否变化&&鼠标是否松开)

		int Old_Width = re->oldSize().width();
		int New_Width = re->size().width();
		int Old_Height = re->oldSize().height();
		int New_Height = re->size().height();
		double Upstep_percentage = (New_Width - Old_Width)*0.1;
		double shrink_percentage = (Old_Width - New_Width)*0.1;
		if (Old_Width < New_Width && Old_Height < New_Height)
		{
			QFont ft;//QFont设置字体尺寸
			int i_Upstep_percentage = 10 + (Upstep_percentage*0.1);
			ft.setPointSize(i_Upstep_percentage );//设置字体大小
			ui.label->setFont(ft);//设置label中文字大小
		}
		else if (Old_Width > New_Width && Old_Height > New_Height)
		{

			QFont ft;//QFont设置字体尺寸
			int i_shrink_percentage = 10 + (shrink_percentage*0.1);
			ft.setPointSize(i_shrink_percentage );//设置字体大小
			ui.label->setFont(ft);//设置label中文字大小
		}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渔夫ciao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值