2016-10-07 19 views
0

QComboBoxとQComboBoxのフォントサイズを設定するスタイルシートがあります。以前私は「のaddItem」を使用してQComboBoxにアイテムを追加しましたが、原因のパフォーマンスの問題に私は私のQComboBox
QStandardItemModelで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

ちょうどこの行を追加します。 'comboBox-> setStyleSheet( "QListView {フォント:20pt;}");' – Devopia

答えて

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 { 
     [..] 
    } 
} 
+0

'この場合、modelItem-> setData(myFont、Qt :: FontRole) 'で十分です。 – ilotXXI

関連する問題