QT案例IDE编写 -- 另存为操作及编辑操作

简介: QT案例IDE编写 -- 另存为操作及编辑操作

1、选择一个保存文件的路径,返回类型是Qstring


QString path=QFileDialog::getSaveFileName();
    if(path.isEmpty()){
        return;
    }

2、转码,获取的路径为Qstring,fopen(),文件路径需要char*


 

std::string str=code->fromUnicode(path).data();
    const char *filename=str.c_str();

3、打开文件,fopen(),路径为char*


FILE *fp;
    errno_t err;
    if((err=fopen_s(&fp,filename,"wb"))!=0)
    {
        cout <<"打开文件失败";
        cout <<err;
        return;
    }
    cout <<"打开文件成功";


4、获取编辑区的内容Qstring,将Qstring转为char*


QString str1=ui->textEdit->toPlainText();
    str=code->fromUnicode(str1).data();
    const char *str2=str.c_str();

6、将编辑区的内容写入文件fputs


fputs(str2,fp);


7、关闭文件


fclose(fp);


8、编辑操作


首先将复制、粘贴、剪切、撤销转到槽函数,这些功能是封装好的,直接调用就好

void MainWindow::on_actionchexiao_triggered()
{
    ui->textEdit->undo();
}
void MainWindow::on_actionfuzhi_triggered()
{
    ui->textEdit->copy();
}
void MainWindow::on_actionjian_triggered()
{
    ui->textEdit->cut();
}
void MainWindow::on_actionzhantie_triggered()
{
    ui->textEdit->paste();
}
目录
相关文章
|
5天前
|
IDE 开发工具 C++
QT案例IDE编写 -- 创建项目
QT案例IDE编写 -- 创建项目
29 0
|
5天前
|
存储 自然语言处理
QT案例词典 -- 存储内容及遍历
QT案例词典 -- 存储内容及遍历
14 1
|
5天前
|
自然语言处理
QT案例词典 -- 释放堆区空间及查询单词
QT案例词典 -- 释放堆区空间及查询单词
21 1
|
5天前
|
编解码 IDE 开发工具
QT案例IDE编写 -- 通过枚举实现编码切换
QT案例IDE编写 -- 通过枚举实现编码切换
16 0
|
5天前
|
算法 编译器 Linux
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
30 0
|
5天前
|
网络协议 C++
C++ Qt开发:QTcpSocket网络通信组件
`QTcpSocket`和`QTcpServer`是Qt中用于实现基于TCP(Transmission Control Protocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QTcpSocket`组件实现基于TCP的网络通信功能。
49 8
C++ Qt开发:QTcpSocket网络通信组件
|
5天前
|
区块链
【qt】最快的开发界面效率——混合编程3
【qt】最快的开发界面效率——混合编程
16 1