我想要一个组合框,其宽度调整为其(最长)内容,所以我使用AdjustToContents
。但是,至少在我的设置和氧气样式的情况下,有时我会得到一个太短的框,并且内容会被剪切掉。这似乎尤其是在数字上发生:
请注意,末尾的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_() )
尝试:
combobox = QComboBox(self)
似乎我找到了罪魁祸首。我在KDE fonts settings中启用了“强制字体DPI”选项,并将其设置为96(而xdpyinfo | grep resolution
说101 dpi)。禁用该选项可使它在我可用的所有样式(微风,氧气,Windows,融合)中正常工作。
现在,这是KDE错误,Qt错误还是仅仅是限制?