0
デリゲートクラスとメソッドペイントがあります。それは私のデリゲートの目的は、paintメソッドがQTreeWidgetはQComboboxデリゲートを表示しません
void ComboboxDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QStyleOptionComboBox box;
QString text = values[1];
box.currentText = text;
box.rect = option.rect;
QApplication::style()->drawComplexControl(QStyle::CC_ComboBox, &box, painter, 0);
QApplication::style()->drawControl(QStyle::CE_ComboBoxLabel, &box, painter, 0);
}
値が付きQMap
ボックスがある
ui->treeWidget->setItemDelegateForColumn(2, box);
されている
のために私はQTreeWidget列にコンボボックスを表示してくださいしたいと思います2つの変数 - 「こんにちは」と「さようなら」コンボボックスを描画する代わりに、treewidgetは2番目の列にちょうど "Hello"文字列を表示します なぜですか? どうすれば修正できますか?
とうまくいった。モニターの明るさに何か問題がありますか? Qtのどのバージョンを使用していますか? – olya
https://doc.qt.io/qt-5/qtreewidget.html#setItemWidgetを参照してください。これにより、カスタムデリゲートを使用する代わりに直接ウィジェットを配置できますが、トレウィジェットでのみ動作します – Felix
ありがとう答え、私は間違ったqssで始まると思います。しかし、QStyleOptionComboBoxまたはComboboxDelegateの正しいqssを書く方法がわかりません。 –