QLineEdit

QLineEdit提供一個文字輸入欄位,使用者可輸入文字或數字供程式讀取,可設置驗證器(validator)對輸入作限制,QIntValidator、QDoubleValidator分別對整數、浮點數範圍做限制,QRegExpValidator用正規表達式來對輸入進行更特定的限制,這邊創建兩個QLineEdit,分別對輸入做限制,第一個只能輸入0到100的值,第二個只能輸入一次的a或b或c。


widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QLineEdit>

class Widget : public QWidget
{
    Q_OBJECT

public:
   Widget(QWidget *parent = 0);
private:
   QLineEdit *lineEdit1;
   QLineEdit *lineEdit2;
};

#endif

widget.cpp

#include "widget.h"
#include <QValidator>

Widget::Widget(QWidget *parent) :
    QWidget(parent)
{
    setWindowTitle(tr("按鍵組"));
    lineEdit1 = new QLineEdit(this);
    lineEdit1->setFocus();                 //得到鼠標
    lineEdit1->setText(tr("內容"));        //設定內容文字
    lineEdit1->clear();                   //清除內容
    QString content = lineEdit1->text();  //得到mylineEdit的内容
    lineEdit1->setGeometry(30,30,80,30);  //設定位置大小
    QValidator *validator1 = new QIntValidator(0,100,this);  //設定輸入範圍0到100
    lineEdit1->setValidator(validator1);

    lineEdit2 = new QLineEdit(this);
    lineEdit2->setGeometry(30,70,80,30);  //設定位置大小
    QRegExp rx("[abc]{1,1}");             //設定只能輸入一次的a或b或c
    QValidator *validator2 = new QRegExpValidator(rx,this);
    lineEdit2->setValidator(validator2);
}

widget.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

QLineEdit