01. 保存按钮点击槽函数
//避免文件对话框弹出两次
//Qt::UniqueConnection确保同一信号与同一个槽函数之间只有一个连接,避免按钮点击后槽函数触发两次
connect(ui->buttonSave, SIGNAL(clicked()), this, SLOT(on_buttonSave_clicked()), Qt::UniqueConnection);
void Widget::on_buttonSave_clicked()
{
QFileDialog dlg(this);
//获取内容的保存路径
QString fileName = dlg.getSaveFileName(this, tr("Save As"), "./", tr("Text File(*.txt)"));
if( fileName == "" )
{
return;
}
//内容保存到路径文件
QFile file(fileName);
//以文本方式打开
if( file.open(QIODevice::WriteOnly | QIODevice::Text) )
{
QTextStream out(&file); //IO设备对象的地址对其进行初始化
out << ui->textEditRead->toPlainText() << endl; //输出
QMessageBox::warning(this, tr("Finish"), tr("Successfully save the file!"));
file.close();
}
else
{
QMessageBox::warning(this, tr("Error"), tr("File to open file!"));
}
}
02. 运行效果
03. 参考
[ 1 ] Qt 文本文件的打开、新建、保存以及另存为
[ 2 ] Qt发送一次信号触发两次槽函数的原因