拥有普通香草QLineEdit
QStringList
的{{1}}。我想知道我是否可以改变下拉列表的外观(我希望有一个最小尺寸或更小的滚动条)。
澄清:我想在样式表中设置它,而不是在代码中。
到目前为止我的调查结果摘要:
QCompleter
和答案 0 :(得分:3)
一个简单的直接解决方案是设置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();
}