首页 > 编程语言 >QLabel显示图片,QPixmap.scaled Qt::KeepAspectRatio不起作用

QLabel显示图片,QPixmap.scaled Qt::KeepAspectRatio不起作用

时间:2023-12-20 10:22:36浏览次数:39  
标签:Qt KeepAspectRatio label scaled QPixmap QLabel

一、问题描述以及解决办法

  Qt中QLabel可以显示图片。如下:

QLabel* label = new QLabel(this);
label->setPixmap(QPixmap)

  其中QPixmap可以缩放图片

Pixmap pixmap;pixmap.scaled(QSize(width, height), Qt::KeepAspectRatio);//按比例缩放以适应目标矩形,超出部分会被裁剪掉

  现在的问题是:Qt::KeepAspectRatio设置上之后不起作用。

  

  解决办法:

    这是因为QLabel没有设置,以下属性,设置后就可以了。

QLabel* label = new QLabel(this);
label->setScaledContents(true);

 

标签:Qt,KeepAspectRatio,label,scaled,QPixmap,QLabel
From: https://www.cnblogs.com/tony-yang-flutter/p/17915898.html

相关文章

  • C++ Qt开发:QItemDelegate 自定义代理组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QStyledItemDelegate自定义代理组件的常用方法及灵活运用。在Qt中,QStyledItemDelegate类是用于......
  • Qt+FFmpeg仿VLC接收RTSP流并播放
    关键词:QtFFmpegC++RTSPRTPVLC内存泄漏摘要认证花屏源码UDP本系列原文地址。下载直接可运行的源码,在原文顶部。效果产生RTSP流比播放文件复杂一点是,为了接收RTSP流,我们需要产生RTSP流。简单搭建一个RTSP推流环境:用EasyDarwin开启RTSP服务作为RTSP服务器。用f......
  • 关于pyqt界面再不同分辨率和视图字体缩放和图片缩放得问题
    建议使用,这里说明一下,使用QApplication类或者QGuiApplication类进行设置都可以,因为QApplication继承自QGuiApplicationfromPyQt5.QtCoreimportQtfromPyQt5.QtGuiimportQGuiApplication######使用下面的方式一定程度上可以解决界面模糊问题--解决电脑缩放比例问题QApplic......
  • pyqt 主窗口和子窗口直接得数据传递
    用设计师模式ui转换成得py转换成得py基类是object,使用得时候不要再此文件修改,直接新建一个py文件,引入ui——>py文件,然后修改基类继承,多重继承需要主窗口就主窗口类,需要子窗口对话框就对话框类这样做得好处是当我们重复修改ui得时候,不需要修改主函数文件,只需要重载ui生成得py文......
  • qt打开项目缺少ui_文件,使用手动生成(转)
    打开项目看到,缺少ui_myMainWindow.h文件,它是和myMainWindow.ui相对应的,所以我们需要手动生成对应的ui_文件。步骤如下:使用uic.exe来生成,如果在系统变量Path中设置了qt的bin目录,那么就可以直接使用uic.exe。使用方法是:在myMainWindow.ui所在文件夹的空白处点击右键,选择【在终端中......
  • C++ Qt开发:TableWidget表格组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TableWidget表格组件的常用方法及灵活运用。QTableWidget是Qt中用于显示表格数据的部件。它是......
  • C++ Qt开发:MdiArea多窗体组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍MdiArea`组件的常用方法及灵活运用。QMdiArea(MultipleDocumentInterfaceArea)是Qt中用于创建多......
  • pyqt5 子窗口的创建,以及主窗口和子窗口的通信
    使用designer画好ui,注意选择dialog对话框然后将ui文件转换成py目标和源文件换成你自己的pyuic5-oqt_hgbp.pyhtbp_autotest.ui主窗口调用子窗口方法一:常规调用,importsysfromPyQt5.QtWidgetsimportQApplication,QMainWindow,QDialog##引入主窗口ui转py文件fr......
  • Qt 常用控件
    一、基础控件1.1按钮QPushButton:用于点击触发操作QRadioButton:用于用于点击选中操作(圆形)QCheckButton:用于点击选中操作(方形)......
  • Qt搜索本机网卡对应网段的在线设备
    需求:销售给我的需求是找出哪些IP是没有被占用的,所以我要先找出已经被占用的IP 项目是Qt开发的,所以在网上搜索了下,搜索到的实现方式都是:QHostInfo::lookupHost,但是这种方式,我发现有部分已经占用了的IP还是搜索不出来,遂放弃这种方式。//QHostInfo::lookupHost方式搜索占用的I......