按下 QPushbutton 时将文本保存到文件

Saving text to a file when a QPushbutton is pressed

本文关键字:存到文件 文本 QPushbutton 按下      更新时间:2023-10-16

我一直在登录,以便在按下QPush按钮时将一些文本保存到文件中,我想知道是否有人可以带我去某个地方找出答案? 我正在使用 C++ 在 qt 5.12 中编程。

您可以尝试以下代码: 。.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include <QFile>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPushButton *button = new QPushButton(this);
button->setText("Push Here");
button->setGeometry(0, 0, 100, 30);
button->show();
//signal and slot connection
connect(button, &QPushButton::clicked, this, &MainWindow::writeSomeText);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::writeSomeText()
{
QFile n_file("file.txt");
if(n_file.open(QIODevice::WriteOnly))  //open a file
{
n_file.write("Some Text");  // write on a file
n_file.close();  //close the file
}
}

.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
public slots:
void writeSomeText();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

请务必查看信号和插槽文档和QFile类,以更好地理解代码。

使用 QFile 和 QTextStream,使用 readWrite 标志打开文件 在需要时流式传输文本

void MainWindow::on_Button_clicked()
{
QString filename{"MyFile.txt"};
QFile file{filename};
if(file.open(QIODevice::ReadWrite | QIODevice::Truncate | QIODevice::Text))
{
QTextStream stream(&file);
stream << "Hello World" << endl;
file.close();
}
}