• 4197阅读
  • 2回复

qlineedit无法输入,各位高手帮帮忙 [复制链接]

上一主题 下一主题
离线wxf54318
 

只看楼主 倒序阅读 楼主  发表于: 2008-08-15
— 本帖被 XChinux 执行加亮操作(2008-08-17) —
头文件
#ifndef M132_H
#define M132_H
#include<qwidget.h>
#include<qlineedit.h>
#include<qvalidator.h>
#include<qmessagebox.h>
#include<qstring.h>



class  EMailValidator : public QValidator
{
public:
    EMailValidator();
    //QValidator::State validate(QString &,int &)const;
    QValidator::State EMailValidator::validate(QString &,int &)const;
    
};

class MyMainWindow : public QWidget
{
Q_OBJECT
public:
    MyMainWindow();
private:
    EMailValidator* evalid;
    QLineEdit* edit;
public slots:
    void slotReturnPressed();
};
#endif
下面是源文件
#include"m132.h"
#include<qmessagebox.h>
//#include<qvalidator.h>
#include<qstring.h>
#include<qregexp.h>
#include <qpixmap.h>

EMailValidator::EMailValidator() : QValidator(0)
{
}
QValidator::State EMailValidator::validate(QString &text,int &pos)const
{
QRegExp regexp("*@*.???");
int result = regexp.search(text);
if(result != -1)
{
     return QValidator::Acceptable;
}
else
{
    return QValidator::Invalid;
}
}

void MyMainWindow::slotReturnPressed()
{
QMessageBox* mBox = new QMessageBox("Validation Results",
     "Acceptable",QMessageBox::Information,QMessageBox::Ok,0,0);
mBox->show();
}

main文件我略了,这个程序编译没问题就是在lineedit中不能输入,百思不得其解
离线icevi

只看该作者 1楼 发表于: 2008-08-16
粗看一下,似乎你应该考虑一下部分匹配的问题。
应该不能只在全部匹配时才接受输入吧。
====================
www.bilive.com
BiForm BiReader BiChat
最爱QT和PYTHON
====================
离线landuochong

只看该作者 2楼 发表于: 2008-08-17
QLineEdit* edit在哪里使用的?怎莫看不到大小,位置设置?
快速回复
限100 字节
 
上一个 下一个