pyqt5 QComboBox 设置行距
时间: 2024-04-26 22:18:52 浏览: 106
在PyQt5中,可以使用QComboBox来创建下拉列表框。要设置行距,可以通过自定义QStyledItemDelegate来实现。
首先,需要导入相应的模块:
```python
from PyQt5.QtWidgets import QApplication, QComboBox, QStyledItemDelegate
from PyQt5.QtGui import QFontMetrics
```
然后,创建一个自定义的QStyledItemDelegate类,并重写sizeHint方法来设置行距:
```python
class CustomDelegate(QStyledItemDelegate):
def sizeHint(self, option, index):
size = super().sizeHint(option, index)
font_metrics = QFontMetrics(option.font)
height = font_metrics.height() + 10 # 设置行距为10
size.setHeight(height)
return size
```
接下来,在创建QComboBox时,将自定义的QStyledItemDelegate类作为参数传入:
```python
app = QApplication([])
combo_box = QComboBox()
delegate = CustomDelegate()
combo_box.setItemDelegate(delegate)
```
这样就可以设置QComboBox的行距了。
阅读全文