假设我用每行一个数字来填充QComboBox。并且这些行在垂直方向上非常接近。我如何控制它们之间的垂直距离?
假设我用每行一个数字来填充QComboBox。并且这些行在垂直方向上非常接近。我如何控制它们之间的垂直距离?
如果您只想更改行高(而不是更改字体大小),请创建一个新的委托类:
class RowHeightDelegate : public QItemDelegate
{
Q_OBJECT
public:
QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
{
return QSize(1, 40); // the row height is now 40
}
};
并将其设置为您的组合框:
ui->comboBox->setItemDelegate(new RowHeightDelegate());
编辑:
以上示例演示了如何更改下拉列表的行高,但字体大小未更改。如果您想要更改整个组合框(包括下拉列表)的字体大小,请创建一个具有所需大小的新字体,并将其设置为组合框:
QFont font;
font.setPointSize(font.pointSize() + 10);
ui->comboBox->setFont(font);