#include <QApplication>
#include <QLineEdit>
#include <QCompleter>
#include <QStringListModel>
#include <QMainWindow>int main(int argc, char *argv[]) {QApplication app(argc, argv);// 创建一个字符串列表模型QStringListModel model;// 设置模型的自动补全列表QStringList auto_complete_list{"apple", "banana", "cherry", "durian"};model.setStringList(auto_complete_list);// 创建一个自动补全器并设置模型QCompleter completer;completer.setModel(&model);// 设置自动补全样式为下拉列表completer.setCompletionMode(QCompleter::PopupCompletion);// 设置自动补全的样式表completer.popup()->setStyleSheet("QListView {""background-color: lightgray;""color: black;""selection-background-color: darkgray;""}");QLineEdit line_edit;line_edit.setCompleter(&completer);QMainWindow main_window;main_window.setCentralWidget(&line_edit);main_window.show();return app.exec();
}
在这个示例中,我们使用setStyleSheet()
方法来设置QListView的样式表,通过获取completer.popup()
的方式来获取QCompleter的弹出窗口。您可以按照需求修改样式表中的属性,例如background-color
、color
和selection-background-color
等。