这是名为hello的辅助窗口中的函数
void hello::save()
{
QString file_name = QFileDialog::getSaveFileName(this,"Open the file","X://");
QFile file(file_name);
if(!file.open(QFile::WriteOnly | QFile::Text)){
QMessageBox::warning(this,"Error","File not Open");
return;
}
QTextStream out(&file);
QString text = ui->textEdit_sec->toPlainText();
out<<text;
file.flush();
file.close();
}
我需要这里的功能
void MainWindow::on_actionsavew_triggered()
{
}
为什么不在通用包含文件中使用静态函数:
void saveStatic(QWidget* parent, const QString& text)
{
QString file_name = QFileDialog::getSaveFileName(parent,"Open the file","X://");
QFile file(file_name);
if(!file.open(QFile::WriteOnly | QFile::Text)){
QMessageBox::warning(this,"Error","File not Open");
return;
}
QTextStream out(&file);
QString text =
out<<text;
file.flush();
file.close();
}
并从以下两个函数调用它:
void MainWindow::on_actionsavew_triggered()
{
saveStatic(this, ui->textEdit_sec->toPlainText());
}
和
void hello::save()
{
saveStatic(this, ui->textEdit_sec->toPlainText());
}
Qt的方法是使用信号和插槽。您的保存函数应该是您的插槽,并且在。。。函数应该调用一个信号。你可以用QObject连接两者::连接