Иметь QLineEdit
с простой ванилью QStringList
QCompleter
, Интересно, могу ли я изменить внешний вид выпадающего меню (я хочу иметь минимальный размер или меньшую полосу прокрутки).
Пояснение: я хочу установить его в таблице стилей, а не в коде.
Резюме моих выводов на данный момент:
QStyledItemDelegate
а такжеПростое прямое решение состоит в том, чтобы установить таблицу стилей QScrollBar
используется popup
из QCompleter
, Я мало знаю о qss, поэтому я не знаю, можете ли вы установить минимальный размер таким образом, но вы всегда можете посмотреть на verticalScrollBar()
.
Вот некоторый код для пути qss:
#include <QAbstractItemView>
#include <QCompleter>
#include <QLineEdit>
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLineEdit edit;
edit.show();
QStringList completionList;
for (int a = 0 ; a < 10 ; ++a) {
completionList << QString("test%1").arg(a);
}
QCompleter completer(completionList);
edit.setCompleter(&completer);
QAbstractItemView *popup = completer.popup();
popup->setStyleSheet("QScrollBar{ width: 50px;}");
return a.exec();
}
Других решений пока нет …