zoukankan      html  css  js  c++  java
  • Qt Creator (C++)保存文件

    最近在学习QT Creator,感觉很是头大。可能是刚刚学的原因吧,感觉完全没有C#好,好多东西完全搞不懂。

    C++虽然很灵活,但是也可能是太灵活了,总是搞得人一头雾水。

    一个简简单单的保存文件,就让人费了半天劲。还是先记下来,防止以后用到时忘记。

    一、首先在头文件内加入引用(即 ***.h文件内)

    #include <QListWidget>
    #include <QFileDialog>
    #include <QMessageBox>
    

    二、在头文件内加入方法声明(即 ***.h文件内)

    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    private:
    void SaveFile();                                        //保存实时信息数据点击事件
    };
    #endif // MAINWINDOW_H

    三、在源文件内添加方法的实现(即 ****.cpp文件内)

    #include "mainwindow.h"
    
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
    {
            DOTO....
    }
    
    MainWindow::~MainWindow()
    {
    
    }
    
    void MainWindow::SaveFile()
    {
        int count = ltwMsg->count ();
            if(count>0)
            {
                QString fileName = QFileDialog::getSaveFileName (this,
                            tr("保存实时数据"),"",tr("日志文件 (*.txt)"));
                if(!fileName.isEmpty ())
                {
                    QFile file(fileName);
                    if(!file.open (QIODevice::WriteOnly))
                    {
                        QMessageBox msgBox;
                        msgBox.setText("保存文件失败!");
                        msgBox.exec();
                    }
                    else
                    {
                        QString qs;
                        for(int i=0;i<count;i++)
                        {
                            QListWidgetItem *item = ltwMsg->item(i);
                            QString s = item->text();
                            qs = qs+s+"
    ";
                        }
                        QTextStream stream(&file);
                        stream << qs;
                        stream.flush ();
                        file.close ();
                    }
                }
            }
    }
  • 相关阅读:
    自定义博客园skin
    c++11: <thread>学习
    《明日方舟》Python版公开招募工具
    Python列表
    Python基础
    C#常用修饰符
    C#单例类的实现
    云服务器反黑客入侵攻防实录(一)
    在CentOS7.6上安装自动化运维工具Ansible以及playbook案例实操
    技术漫谈 | 远程访问和控制云端K8S服务器的方法
  • 原文地址:https://www.cnblogs.com/rogation/p/3891571.html
Copyright © 2011-2022 走看看