Qcombobox中的宽度错误计算

问题描述 投票:0回答:2

我想要一个组合框,其宽度调整为其(最长)内容,所以我使用AdjustToContents。但是,至少在我的设置和氧气样式的情况下,有时我会得到一个太短的框,并且内容会被剪切掉。这似乎尤其是在数字上发生:

enter image description here

请注意,末尾的8被剪切。如果我注释掉该项目,则长度看起来还可以。

是错误吗?是否有一种简单的方法可以通过样式表或子类进行修复?

import sys
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtWidgets import *

class HelloWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)

        self.setWindowTitle("Test")

        centralWidget = QWidget(self)
        self.setCentralWidget(centralWidget)

        gridLayout = QHBoxLayout()
        centralWidget.setLayout(gridLayout)

        label = QLabel("Name")

        combobox = QComboBox()
        combobox.setSizeAdjustPolicy(QComboBox.AdjustToContents)
        combobox.addItem("Short")
        combobox.addItem("Longer text")
        combobox.addItem("abcdefghijklmnopqr")
        combobox.addItem("123456789012345678")

        gridLayout.addWidget(label)
        gridLayout.addWidget(combobox)
        gridLayout.addStretch(1)

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    mainWin = HelloWindow()
    mainWin.show()
    sys.exit( app.exec_() )
python pyqt pyqt5
2个回答
0
投票

尝试:

combobox = QComboBox(self)

0
投票

似乎我找到了罪魁祸首。我在KDE fonts settings中启用了“强制字体DPI”选项,并将其设置为96(而xdpyinfo | grep resolution说101 dpi)。禁用该选项可使它在我可用的所有样式(微风,氧气,Windows,融合)中正常工作。

现在,这是KDE错误,Qt错误还是仅仅是限制?

© www.soinside.com 2019 - 2024. All rights reserved.