我有QComboBox和一个样式表,用于设置QComboBox的字体大小。以前我使用' addItem'将项目添加到QComboBox,但由于性能问题,我使用的模型视图模型用于我的QComboBox
QStandardItem modelItem = new QStandardItem;
modelItem->setText("TEST");
QStandardItemModel model = new QStandardItemModel;
model->appendRow(modelItem);
QListView listView = new QListView;
comboBox->setView(listView);
comboBox->setModel(model);
这大致是我的代码的样子。当我点击我的组合框时,如何使用样式表来增加列表中的字体大小?我之前的样式表工作正常,直到我激动我的代码使用QStandardItemModel和QListView。
答案 0 :(得分:0)
自定义您自己的QStandardItem
并让您的模型返回Qt::FontRole
所需的字体:
QVariant MyCustomModel::data(const QModelIndex &index, int role) const {
if (role == Qt::FontRole) {
// Custom your font
QFont font;
font.setBold(true);
return font;
} else if (role == Qt::ForegroundRole) {
return QColor(Qt::red); // QBrush color
} else {
[..]
}
}