QT- QLineEdite设置自动补全功能,并修改自动补全的样式

#include 
#include 
#include 
#include 
#include 

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-colorcolorselection-background-color等。

你可能感兴趣的:(qt)