组合框没有正确调整大小以适应更大的字体大小

Posted

技术标签:

【中文标题】组合框没有正确调整大小以适应更大的字体大小【英文标题】:Combobox does not resize properly to fit larger font size 【发布时间】:2021-12-20 03:11:20 【问题描述】:

当我在 MacOS Big Sur 上使用 PyQt5 创建组合框时,无论是使用设计器还是使用代码,标准字体大小 (13) 都允许在文本周围进行一些填充;这就是我要的。一个简单的代码是:

from PyQt5 import QtWidgets as qtw

if __name__=='__main__':
    app = qtw.QApplication([])
    comboBox = qtw.QComboBox()
    comboBox.addItem('My first item')
    comboBox.addItem('My second item')
    comboBox.show()

但是,当我将字体大小增加到 25 时,例如添加:

font = comboBox.font()
font.setPointSize(25)
comboBox.setFont(font)

我得到以下信息:

这显然太狭窄了。有谁知道如何改变这个?我在 Designer 的属性编辑器中设置字体大小并将其设置在样式表中得到相同的结果。

编辑:刚刚在 Ubuntu 上尝试过,在这里它按预期工作......:

【问题讨论】:

你在使用layout managers吗?请提供minimal reproducible example。 不,我没有使用布局管理器;我已将示例更新为最低可重现的示例。 @Marco 您提供的某些图像显然与您提供的 MRE 不对应,因为它们是 QtDesigner 的预览版。 这是真的;我现在发布了正确的图像。请注意,它们是相同的...... 如果您在显示项目之后更改字体大小,并且不使用布局,那么也请致电adjustSize() 【参考方案1】:

此问题已被接受为错误;见QTBUG-98042。

【讨论】:

很好,谢谢!不要将其作为附加文本添加到帖子中,而是将您添加到答案中的 QTBUG-98042 文本设为链接,例如:see [QTBUG-98042](https://bugreports.qt.io/browse/QTBUG-98042).

以上是关于组合框没有正确调整大小以适应更大的字体大小的主要内容,如果未能解决你的问题,请参考以下文章

调整字体大小以适应边界矩形?

将字体大小调整为 uilabel 宽度

win32自动调整父窗口大小以适合其内容

如何在 Swift 中以编程方式调整 UIButton 中文本的字体大小以适应宽度?

字体大小自动调整以适应

Swift 3 - 调整字体大小以适应宽度,多行