【发布时间】:2010-09-05 11:02:07
【问题描述】:
假设我在 QComboBox 的每一行都填充了一个数字。线条在垂直方向上非常接近。如何控制垂直距离?
【问题讨论】:
-
也许你应该创建一个关于输入验证的新问题。
-
好的,我已经完成了输入验证。
标签: c++ qt vertical-alignment qcombobox
假设我在 QComboBox 的每一行都填充了一个数字。线条在垂直方向上非常接近。如何控制垂直距离?
【问题讨论】:
标签: c++ qt vertical-alignment 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);
或者使用 Qt Designer 或 Qt Creator 来改变字体大小。
【讨论】: