QLabel 显示 QScrollArea 内的图像

2024-02-29

我已经在 Qt 中成功实现了图像查看器(适用于 DICOM)。 我可以看到图像,并且可以正确放大和缩小。

现在,如果图像太大而无法在放大时显示,我想看到滚动条。

我用过用户界面。我放置了一个Q滚动区域。在 - 的里面QLabel. The 垂直滚动条策略 is 按需滚动条. The 水平滚动条策略 is 按需滚动条.

问题是:它不起作用。我放大,但没有出现滚动条。

第二次尝试:使用 QScrollArea 内的布局。

所以现在有一个QWidgetQScrollArea 和 QLabel 之间:水平布局。 打开同一张图像,现在我可以看到右侧有一个垂直滚动条。图像从左向右拉伸。当我缩放图像时,图像会获得正确的比例。

但是......我缩小并且滚动条是相同的,即使我可以看到整个图像。水平滚动条永远不会出现。

调整 QLabel 的大小似乎没有影响。但是,如果我调整 QScrollArea 的大小(调整主窗口的大小),则会出现水平滚动条。

我一直在检查一些数字:

在 QScrollArea 中

  • 它的大小发生变化:低于 599 宽度(为什么是这个数字?我在任何地方都看不到它)出现水平条。
  • 大小提示()始终返回相同的值:33x41

在 Q 标签中

  • 尺寸发生变化,但这并不影响。
  • 大小提示()始终返回相同的值:560x1558

以下是 UI 设计器的 XML 代码:

<widget class="QWidget" name="centralWidget">
   <property name="autoFillBackground">
    <bool>false</bool>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <property name="margin">
     <number>0</number>
    </property>
    <item>
     <widget class="QScrollArea" name="scrollArea">
      <property name="widgetResizable">
       <bool>true</bool>
      </property>
      <property name="alignment">
       <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
      </property>
      <widget class="QWidget" name="scrollAreaWidgetContents">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>0</y>
         <width>637</width>
         <height>649</height>
        </rect>
       </property>
       <layout class="QHBoxLayout" name="horizontalLayout_2">
        <item>
         <widget class="QLabel" name="miImagen">
          <property name="sizePolicy">
           <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
          <property name="autoFillBackground">
           <bool>true</bool>
          </property>
          <property name="scaledContents">
           <bool>true</bool>
          </property>
          <property name="alignment">
           <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
     </widget>
    </item>
   </layout>
  </widget>

我缺少什么?谢谢。


我知道这是一篇旧帖子 - 但如果您或任何人仍然遇到问题,它可能会有所帮助QScrollArea::widgetResizable为假。

至少,当我尝试类似的事情时,我的垂直滚动条始终被禁用(即使我将可滚动小部件的大小设置为具有大于视口的高度),直到我将其设置为 false。

当这是真的时,我认为它会更新可滚动小部件的大小,因此不需要滚动条。这允许您执行我猜的示例中的操作,并实现拉伸以适应功能。 (实际上我想做的是适应宽度,只有一个垂直滚动条)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QLabel 显示 QScrollArea 内的图像 的相关文章

  • 如何创建QWidget的屏幕截图?

    我在 Qt Creator 中做作业 在其中绘制 QWidget 并且需要保存此 QWdiget 的某些部分 我试图解决这个问题 QPixmap pixmap pixmap copy rectangle rectangle is part
  • JS - 如何将图像对象变成灰度并显示它

    基本上 当单击按钮时 它会告诉移动设备转到相机 一旦相机拍照 它就会给我图像数据 它被称为数据 URL 吗 这是我处理它的代码 var imagesrc data image jpeg base64 imageData var myimag
  • 了解客户端文件的对象 URL 以及如何释放内存

    我在用createObjectURL获取本地图像文件的引用 URL 当我完成文件 图像后 我打电话revokeObjectURL释放该内存 一切对我来说都很好 但我只是想确保我释放了我能释放的所有内存 我检查后出现了我的担忧chrome b
  • QtCreator 调试暂停停在代码而不是汇编处

    如何配置 QtCreator 以便在调试并按下暂停时它会显示当前正在处理的代码 现在显示汇编 无法在任何地方找到有关此问题的答案 我使用的是 Windows 7 我在 Ubuntu 16 04 中使用 Qt Creator 4 2 2 时遇
  • 在 Android 上将大位图文件的大小调整为缩放的输出文件

    我的文件中有一个大位图 例如 3888x2592 现在 我想将该位图大小调整为 800x533 并将其保存到另一个文件中 我通常会通过调用来缩放位图Bitmap createBitmap方法 但它需要一个源位图作为第一个参数 我无法提供它
  • 在python中将二维数组转换为彩色图像

    我有这样的二维整数列表 list1 1 30 50 21 45 9 97 321 100 接下来我将把它转换为 numpy 数组 myarr np asarray list1 接下来我将使用 PIL 将其转换为图像 如下所示 img Ima
  • 图像上的文字

    是否可以在 php 中动态地将文本放置在图像上 然后将其发送到 rss feed 是的 可以使用GD http www php net gd函数或图像魔术师 http www php net imagemagick功能 具体取决于您的服务器
  • 如何使用 Qtimer 添加 1 秒延迟

    我目前有一个方法如下 void SomeMethod int a Delay for one sec timer gt start 1000 After one sec SomeOtherFunction a 这个方法实际上是一个附加到信号
  • 文章中的内联图像和标题 - 使标题的宽度与图像的宽度一致

    这是我的代码 div class image img src image jpg alt Image description p class caption This is the image caption p div 这是我的 CSS
  • 从布局中按名称获取小部件

    如果我想从 python Qt 的布局中获取特定的小部件 我应该如何进行 到目前为止我所做的 for i in range self ui horizontalLayout 14 count here it does fail name s
  • C# 代码上的 ImageURL 不显示图像

    我在 aspx 页面上有图像
  • 重定向 python 交互式帮助()

    我正在为使用 Qt 的应用程序开发交互式 python shell 但是我似乎无法获得重定向的交互式帮助 我的 python 代码中有这个 class OutputCatcher def init self self data def wr
  • 使用 Qt 上的看门狗更改 QLabel 文本

    我正在尝试做什么 每当在受监视的文件夹中创建新文件 使用 Watchdog 时 更改 QLabel 文本 Problem 使用以下代码创建新文件时 QLabel 文本不会更新 但成功调试打印到控制台 class MainWindow QtW
  • 使用 Visual Studio 2013 构建 Qt 5.2.1 的静态版本

    几天来我一直在尝试使用 Visual Studio 2013 构建 Qt 的静态版本 我就是不明白我做错了什么 System Windows 7 64 位 Visual Studio 2013 仍安装 Visual Studio 2012
  • 如何在 QTabWidget Qt 中展开选项卡

    我有一个QTabWidget像这个 但我想展开选项卡以 填充 整个小部件宽度 如下所示 我怎样才能做到这一点 我在用Qt 5 3 2 and Qt 创建者 3 2 1 Update 我尝试使用setExpanding功能 ui gt myT
  • Oracle Blob 在 PHP 页面中作为 img src

    我有一个网站当前使用文件服务器上的图像 这些图像显示在页面上 用户可以根据需要拖放每个图像 这是使用 jQuery 完成的 图像包含在列表中 每张图片都非常标准 img src network path image png height 8
  • 将图像列保存到 SQL Server 2000 中的文件

    我在 SQL Server 2000 中有一个包含图像列的表 我需要将图像数据保存到文件系统上的文件中 在 SQL Server 2005 中 我可以使用 ADODB Stream 对象进行文件 I O 但这在 SQL Server 200
  • 在 JavaScript 函数中加载图像

    我有获取图像像素颜色的功能 function getImage imgsrc var img img src imgsrc var imageMap new Object img load function var canvas
  • 如何在PHP中将图像从内存上传到AWS S3?

    所以我目前有一个使用 AWS S3 上传图像的上传系统 这是代码 Upload image to S3 s3 Aws S3 S3Client factory array key gt mykey secret gt myskey try s
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr

随机推荐

  • 轨道模型和独特的组合

    我有一个 Rails 应用程序 其中有一个名为friendrequests 它看起来像这样 user1 id integer user2 id integer hasaccepted boolean 我正在创建一个添加好友的选项 但好友请求
  • C++派生类型的自动工厂注册

    像我之前的许多人一样 我正在尝试让我的派生类型自动向我的工厂注册 我通读了很多问题 并试图专注于我在那里没有找到的问题 除了自动注册之外 一切都运行良好 我的目标 automatically register any derived cla
  • PHP语言规范中“[”怎么会是运算符呢?

    On the http php net manual en language operators precedence php http php net manual en language operators precedence php
  • 不带 @XMLRootElement 的 JAXB 部分解组元素

    我正在使用部分解组的例子JAXB 但我无法解组不在根级别的 XML 元素 因为它们没有 XmlRootElement 标记 在我的示例中 我尝试读取shipTo Element而不是purchaseOrder Element 通常我会使用
  • 将日期附加到使用 Sweave 生成​​的 PDF

    我通过 Sweave 生成 每日报告 我想在 PDF 名称中附加当前日期 格式为 YYYYMMDD 我使用以下代码来生成文件 rnwfile lt system file Sweave Margin Rnw package utils Sw
  • 如何在 Django 中记录成功和失败的登录和注销尝试?

    我想在 Django 中记录所有用户登录和注销尝试 该记录应显示所有登录 注销用户的历史记录 IP 地址和登录 注销时间 The django admin log表似乎只记录其他模型的ADD DELETE CHANGE活动 而不是用户访问的
  • 简单来说,什么是工厂?

    什么是工厂 我为什么要使用工厂 你熟悉吗JDBC https docs oracle com javase tutorial jdbc basics index html 这是一个完整的 抽象 工厂 这是一个很好的现实世界例子 Factor
  • 更改数据库模式和单元测试

    在我们开始之前 我知道有相当多的人认为访问数据库的测试不是 单元测试 也许 集成测试 是一个更好的名字 无论哪种方式 开发人员都会测试数据库 为了启用单元测试 我有一个开发人员本地数据库 我会在每次测试开始时清除该数据库并填充一组已知的数据
  • 在 Plotly 中用新数据更新图形的高性能方法?

    我想使用每个条形值的滑块来更新条形图 但是 我希望条形动态变化as滑块发生变化 我已经实现了这个使用oninput 目前 我有以下内容 这是相当滞后的 HTML h1 Plotly Test h1 div style width 480px
  • 检索 tableview Swift 领域的 List 属性计数

    我正在使用 Realm 3 和 Swift 4 但对 Realm 和 Swift 还很陌生 这里需要指导 给定这个领域模型 class Person Object Mappable let dog List
  • pip install 错误:安装脚本指定了绝对路径

    我遇到了 pip 的奇怪行为 呼唤 pip install git https github com username repo 通常可以工作 但在某些包上它会以异常方式失败 Downloading unpacking git git gi
  • 为 python3 安装 OpenCV

    我遵循了许多手册 教程如何安装OpenCV http docs opencv org 2 4 doc tutorials introduction linux install linux install html highlight ins
  • Postgresql gem install pg 0.18.4 通过,捆绑安装失败

    Mac 操作系统 El Capitan 捆绑包安装失败并显示 compiling pg connection c pg connection c 2394 3 warning implicit declaration of function
  • 使用多部分列标识符

    我确信这必须在某个地方记录下来 但在我的一生中 我似乎找不到任何解释该行为的实际文档 采用 4 种方法来引用表格 我不相信还有更多 但请随时纠正我 当前数据库 远程数据库 链接服务器 Synonym 他们在使用多部分列标识符时的行为似乎有所
  • 根据内容过滤 OpenFileDialog 中显示的文件?

    有没有办法修改 OpenFileDialog 的行为 以便它查看它打开的文件夹中的文件 然后根据其内容忽略某些文件 一个示例是打开一个充满 Zip 文件的文件夹 但仅显示包含特定文件的文件夹 从文档中 有 HookProc 但我不太确定如何
  • 以编程方式更改 UITextField 键盘类型

    是否可以以编程方式更改 uitextfield 的键盘类型 以便可以实现类似的操作 if user is prompted for numeric input only textField setKeyboardType Number Pa
  • 正则表达式匹配除两个单词之外的任何内容

    我正在尝试编写一个正则表达式来匹配 foo 和 bar 以外的任何内容 我找到了如何匹配除一个单词之外的任何内容正则表达式匹配不包含单词的行 https stackoverflow com questions 406230 regular
  • 我应该实例化集合还是从集合继承?

    在创建类时 特别是那些涉及集合的类时 我多次问自己这个问题 但我从未给出令人满意的答案 这是一个OOP设计问题 例如 在支票簿注册程序中 假设我有一类BankAccount BankAccounts 包含涉及帐户名称 帐户类型 支票 储蓄等
  • 如何让 Selenium Web 驱动程序等待元素可访问,而不仅仅是存在?

    我正在为网络应用程序编写测试 某些命令会弹出对话框 其中的控件可见 但暂时不可用 它们呈灰色 但网络驱动程序仍然将它们视为可见 我如何告诉 Selenium 等待元素真正可访问 而不仅仅是可见 try print about to look
  • QLabel 显示 QScrollArea 内的图像

    我已经在 Qt 中成功实现了图像查看器 适用于 DICOM 我可以看到图像 并且可以正确放大和缩小 现在 如果图像太大而无法在放大时显示 我想看到滚动条 我用过用户界面 我放置了一个Q滚动区域 在 的里面QLabel The 垂直滚动条策略