基于QT+VS2010,如何通过控件实现文本框内内容的保存,并判断是否输入内容,如果有实例说明更好,谢谢!

图片说明

qt的控件不是都有信号的嘛
比如lineedit 也就是你这个文本框 就有如下信号 你对文本的更改他都会发出相应的信号 你写个槽函数拿到文本的数据不就可以保存了吗 他只要响应就代表你输入了内容

Signals

void
cursorPositionChanged(int oldPos, int newPos)
void
editingFinished()
void
inputRejected()
void
returnPressed()
void
selectionChanged()
void
textChanged(const QString &text)
void
textEdited(const QString &text)

举个例子 下面是一个lineedit的信号 图片说明

图片说明

通过textChanged判断输入的数据 如果数据不符合你的要求 则相应的处理

//保存到文件里面

//这里创建一个文件初始化格式
QSettings *settings = new QSettings(你的文件名.ini, QSettings::IniFormat);
//这个就是文件里面的编码方式
settings->setIniCodec("UTF-8");

//此处为所有数据项组名  比如你所有的数据都是和测试相关 那就写Test
//就好了  没有的不写这一句都可以 这个没有下面那个end就没有
settings->beginGroup(QString::fromLocal8Bit("你数据组名"));

//此处加你的数据 有多少加多少
//此处保存数据项
settings->setValue(QString::fromLocal8Bit("数据名"),数据);

    settings->endGroup();

把界面文本框写入文件可以这么写:

QFile file(文件名);
if (file.open(QIODevice::ReadWrite)) {
  QTextStream stream(&file);
  stream << QTextEdit1->toPlainText();
}

至于界面验证,可以编写信号槽函数,选择框用selectionChanged(),文本框用textChanged()搭配QRegExpValidator,比VB还好用。