デフォルトの QComboBox ドロップダウン リストは、非常に混雑していて美しくありません。
それでは、コンボ ボックスのドロップダウン リストの間隔や高さを調整するにはどうすればよいでしょうか。以下の方法を参照してください。
1. 非常にシンプルなスタイルシートを使用する
最も簡単な方法は、次の 2 行のコードで解決できます。
ui->comboBox->setView(new QListView()); //必须设置
setStyleSheet("QComboBox QAbstractItemView::item{height:28px;}");
2. QListWidget を使用して達成する
このメソッドは、現在のアイテムまたはドロップダウン リスト アイテムのコンボ ボックス内の表示位置(左、右、中央)も実現できます。
QStringList list;
list << tr("项目1") << tr("项目2") << tr("项目3");
QListWidget* listWidget = new QListWidget(this);
for (int i = 0; i < list.count(); ++i) {
QListWidgetItem* item = new QListWidgetItem(list.at(i));
item->setTextAlignment(Qt::AlignCenter); //下拉列表项显示在中间
// item->setTextAlignment(Qt::AlignLeft); //下拉列表项显示在左边
// item->setTextAlignment(Qt::AlignRight); //下拉列表项显示在右边
listWidget->addItem(item);
}
ui->comboBox->setModel(listWidget->model());
ui->comboBox->setView(listWidget);
QLineEdit* lineEdit = new QLineEdit();
lineEdit->setReadOnly(true);
lineEdit->setAlignment(Qt::AlignCenter); //当前项显示在中间
// lineEdit->setAlignment(Qt::AlignLeft); //当前项显示在左边
// lineEdit->setAlignment(Qt::AlignRight); //当前项显示在右边
ui->comboBox->setLineEdit(lineEdit);
}