qtextedit - 调整大小以适合

2023-12-21

我有一个QText编辑 https://doc.qt.io/qt-5/QTextEdit.html充当“显示者”(可编辑为 false)。它显示的文本是自动换行的。现在我确实希望设置此文本框的高度,以便文本完全适合(同时也遵守最大高度)。

基本上,布局下方的小部件(在相同的垂直布局中)应该获得尽可能多的空间。

如何最容易实现这一目标?


我找到了一个非常稳定、简单的解决方案QFontMetrics!

from PyQt4 import QtGui

text = ("The answer is QFontMetrics\n."
        "\n"
        "The layout system messes with the width that QTextEdit thinks it\n"
        "needs to be.  Instead, let's ignore the GUI entirely by using\n"
        "QFontMetrics.  This can tell us the size of our text\n"
        "given a certain font, regardless of the GUI it which that text will be displayed.")

app = QtGui.QApplication([])

textEdit = QtGui.QPlainTextEdit()
textEdit.setPlainText(text)
textEdit.setLineWrapMode(True)      # not necessary, but proves the example

font = textEdit.document().defaultFont()    # or another font if you change it
fontMetrics = QtGui.QFontMetrics(font)      # a QFontMetrics based on our font
textSize = fontMetrics.size(0, text)

textWidth = textSize.width() + 30       # constant may need to be tweaked
textHeight = textSize.height() + 30     # constant may need to be tweaked

textEdit.setMinimumSize(textWidth, textHeight)  # good if you want to insert this into a layout
textEdit.resize(textWidth, textHeight)          # good if you want this to be standalone

textEdit.show()

app.exec_()

(请原谅,我知道你的问题是关于 C++ 的,我正在使用 Python,但是在Qt无论如何,它们几乎是同一件事)。

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

qtextedit - 调整大小以适合 的相关文章

随机推荐

  • MySQL 错误 1443 解决方法

    我相信我的问题可以参考另一个问题 https stackoverflow com questions 1225496 mysql 1443 what does it mean标题几乎相同 但不幸的是答案对我来说不够清楚 而且这个问题也有 6
  • 使用css重置时如何在段落之间添加空格? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 使用 css 重置时 在段落之间添加空格的最安全 无高度变化的跨浏览器方法是什么 div p class text paragraph1 p p
  • Java GC(分配失败)

    为什么总是 GC 分配失败 适用于 linux amd64 JRE 的 Java HotSpot TM 64 位服务器 VM 25 25 b02 1 8 0 25 b17 CommandLine flags XX CMSInitiating
  • 作业完成后 Jenkins 杀死 JBoss 服务器

    我使用 Ant 通过 Jenkins 启动 关闭 JBoss 5 服务器 Ant java spawn 和 fork 设置为 true 因此命令在后台执行 Jenkins 成功启动服务器 等待两分钟 Jenkins 中的 睡眠 命令 然后在
  • 使用比较 Xcode iOS 9 中“其他进程”内存不足

    我的应用程序在内存为 0 5GB 的设备上崩溃 然而 在 Xcode 中分析内存使用情况 它很少超过 140MB 我用仪器检查过泄漏情况 但没有发现明显的泄漏 但是 当我运行我的应用程序时 其他进程 使用的内存总是非常高 这是启动后的静止状
  • 如何在 Xamarin Forms 中创建阴影

    如何使用 Xamarin Forms 在按钮或标签上创建阴影 我目前正在使用 Xamarin Forms 1 3 并尝试在 XAML 中执行此操作 如果可能 有没有人有一个可行的例子可以给我指点 我还没有尝试过这个 但您可以创建同一控件的
  • awk 搜索另一个文件中的字段

    我需要在第二个文件中搜索一个文件中的字段 想知道 awk 是否是正确的解决方案 file 1 one two file 2 something one balh one blah two blah two 所需输出 one somethin
  • 为什么在检查最近的提交后我有一个分离的 HEAD?

    最近 在使用 git 存储库时 我想查看旧提交中的代码 68cce45 所以我做了 git checkout 68cce45 查看更改后 我想返回到存储库的当前版本并继续工作 自从2bcfd11是最近的提交 我做了 git checkout
  • 如何将自动布局与容器转换结合使用?

    如何将自动布局与 UIViewController 容器转换方法一起使用 void transitionFromViewController UIViewController fromViewController toViewControl
  • 将一个数据系列绘制在另一个数据系列下方

    当您在 Matlab 中绘制图形时 最近绘制的数据系列会放置在已有数据之上 例如 figure hold on plot sin linspace 0 pi linewidth 4 color 0 0 1 plot cos linspace
  • Android Firebase 应用程序分发 - 服务凭证文件不存在。请检查服务凭证路径并重试

    我正在尝试从 Crashlytics Beta 迁移到 Firebase App Distribution 中间的 CircleCi CircleCi 中的构建失败并出现以下错误 什么地方出了错 任务 FiverrApp appDistri
  • Odoo 销售点 + 邮箱:如何修改收据

    我需要修改销售点收据 在 Odoo 销售点中 有两个打印收据的模板 XmlReceipt 和 PostTicket 当我使用 Posbox 时 我想我必须修改 XmlReceipt 请问有没有办法继承原来的模板 我找到了有关如何使用 Pos
  • 没有错误:无法在谷歌云存储上查看上传的文件

    使用云函数在云函数上运行 python 代码云函数 python https github com MartinSahlen cloud functions python 我正在云上处理图像 现在我想将该图像保存在google cloud
  • 使用 TStringList 的奇怪 EOutOfMemory 异常

    我有一个系统 它加载一些压缩到 log 文件中的文本文件 然后使用多个线程解析为信息类 每个线程处理不同的文件并将解析的对象添加到列表中 该文件是使用 TStringList 加载的 因为它是我测试过的最快的方法 文本文件的数量是可变的 但
  • 在 Python 中迭代模块

    所以我有一个嵌套文件夹 其中有执行某些操作的模块 注意 它们不是类 只是脚本 我想迭代这些模块 我现在拥有的 from scripts module 1 import train module 1 from scripts module 2
  • CouchDB Views - 列出函数性能影响?

    你们中的许多人都知道 couchdb 视图的响应如下 rows key 1 value Col1 Some Value key 2 value Col1 Another Value 好吧 我想将其整理为 key 1 value Col1 S
  • 如何更改作为参数传递给函数的变量?

    我试图通过使用返回 void 的函数来更改结构内的一些变量 该函数采用 Struct 成员作为参数 结构数组和大小 该函数有一些代码 最终会更改结构成员内的一些变量 但是 我知道当您将某些内容作为参数传递给函数时 您正在使用副本而不是原始文
  • 在 PHP 中通过 SSH 连接到 MySQL 服务器

    我想通过 ssh 建立一个到我的 mysql 服务器的 ssh 隧道 理想情况下 我会返回一个 mysqli db 指针 就像我直接连接一样 我所在的共享主机没有SSH2 http ca php net ssh2库 但我也许可以使用 PEC
  • 我能知道 BufferedImage 最初的文件类型是什么吗?

    在我的代码中 我有一个缓冲图像 http docs oracle com javase 7 docs api java awt image BufferedImage html那是装载有ImageIO http docs oracle co
  • qtextedit - 调整大小以适合

    我有一个QText编辑 https doc qt io qt 5 QTextEdit html充当 显示者 可编辑为 false 它显示的文本是自动换行的 现在我确实希望设置此文本框的高度 以便文本完全适合 同时也遵守最大高度 基本上 布局