首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt编程笔记三

不积跬步,无以致千里;不积小流,无以成江河。

每天一记,不在乎多少;每天一结,重在勤思考。

写写代码,轻松又愉快;写写文章,总结每一天。

1、图片保持横纵比例进行缩放

2、去除窗口部件的系统焦点边框

1、图片保持横纵比例进行缩放

虽然Qt提供了三种参数进行缩放,但是仍然会有各种问题。

pixmap.scaled(this->size(imageSize), Qt::AspectRatioMode);

根据控件自身大小进行缩放,比例会失调。下面是默认Qt::IgnoreAspectRatio,使用Qt::KeepAspectRatio参数可以保证长度大于宽度的图片放缩正常;反之,显示效果也会比例失调。更别说Qt::KeepAspectRatioByExpanding参数会尽量放大图片,会导致图片显示不全,所以使用上述代码可以解决此问题。

2、去除窗口部件的系统焦点边框

使用下面代码去除窗口部件的系统焦点边框;

class MyProxyStyle : public QProxyStyle

{

public:

virtual void drawPrimitive(PrimitiveElement element, const QStyleOption * option,

QPainter * painter, const QWidget * widget = 0) const

{

if (PE_FrameFocusRect == element)

{

//这里不做任何操作,Qt默认是绘制矩形虚线框

}

else

{

QProxyStyle::drawPrimitive(element, option, painter, widget);

}

}

};

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

qApp->setStyle(new MyProxyStyle);

MainWindow w;

w.show();

return a.exec();

}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181106G0053U00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券