QT學習筆記(三)單行文字輸入框與自動補全

ArrowYL發表於2018-03-31

main.cpp

#include <QApplication>
#include "mywidget.h"
#include <QPushButton>
int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    MyWidget w;
    w.show();
    return app.exec();
}

建構函式

#include "mywidget.h"
#include <QLineEdit>
#include <QCompleter>
MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
{
    QLineEdit *lineEdit = new QLineEdit(this); //定義文字輸入框
    lineEdit->setGeometry(100,100, 300, 40);    //位置以及大小
    lineEdit->setEchoMode(QLineEdit::Normal);    //格式

    QStringList wordList;     //定義一個字串列表
    wordList << "alpha" << "omega" << "omicron" << "zeta";
      //新增字串
    
    QCompleter *completer = new QCompleter(wordList, this);
       //定義自動補全
    completer->setFilterMode(Qt::MatchContains); //設定自動補全模式
    
    lineEdit->setCompleter(completer);  //設定輸入框自動補全格式
    
    resize(800,400); // 設定視窗大小
}

標頭檔案

#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
class MyWidget : public QWidget
{
    Q_OBJECT
public:
    explicit MyWidget(QWidget *parent = 0);
signals:
public slots:
};
#endif // MYWIDGET_H

相關文章