前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Qml读写文件_读写文件权限怎么开

Qml读写文件_读写文件权限怎么开

作者头像
全栈程序员站长
发布于 2022-11-17 05:42:56
发布于 2022-11-17 05:42:56
2.4K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

利用qmlRegisterType接口注册一个文件操作类到Qml中,这样Qml就可以实现读写文件。

1 FileObject.h

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#ifndef FILE_OBJECT_H
#define FILE_OBJECT_H
#include <QObject>
class FileObject : public QObject
{ 

Q_OBJECT
Q_PROPERTY(QString source READ source WRITE setSource NOTIFY sourceChanged)
public:
explicit FileObject(QObject *parent = 0);
Q_INVOKABLE QString read();
Q_INVOKABLE bool write(const QString& data);
void setSource(const QString& source) { 
 m_source = source; };
QString source() { 
 return m_source; }
signals:
void sourceChanged(const QString& source);
private:
QString m_source;
};
#endif // FILE_OBJECT_H

2 FileObject.cpp

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "FileObject.h"
#include <QFile>
#include <QTextStream>
FileObject::FileObject(QObject *parent) :
QObject(parent)
{ 

}
QString FileObject::read()
{ 

QString content;
QFile file(m_source);
if ( file.open(QIODevice::ReadOnly) ) { 

content = file.readAll();
file.close();
} 
return content;
}
bool FileObject::write(const QString& data)
{ 

QFile file(m_source);
if ( file.open(QFile::WriteOnly | QFile::Truncate) ) { 

QTextStream out(&file);
out<<data;
file.close();
return true;
}
else { 

return false;
}
}

3 注册FileObject到Qml中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "FileObject.h"
Q_DECL_EXPORT int main(int argc, char *argv[])
{ 

...
qmlRegisterType<FileObject>("FileObject", 1, 0, "FileObject");
...
}

4 在Qml中使用FileObject实例

  • 读文件内容fileObject.read();
  • 写文件fileObject.write("Hello world!!!");
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import QtQuick 1.1
import FileObject 1.0
Rectangle { 

width: 640
height: 320
Text { 

id: myText
anchors.centerIn: parent
}
FileObject{ 

id: fileObject
source: "test.txt"
}
MouseArea { 

anchors.fill: parent
onClicked: { 

fileObject.write("Hello world!!!");
myText.text =  fileObject.read();
}
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234248.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年11月3日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux mysql 软连接_linux 软连接的使用[通俗易懂]
软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。
全栈程序员站长
2022/11/11
13K0
关于软连接的创建_linux设置软连接
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
5.8K0
深入探索Linux文件链接技术:ln命令的妙用
当谈及 Linux 系统中的文件管理和链接技术,ln 命令是一个不可或缺的工具。ln 命令用于创建硬链接和软链接,它在 Linux 文件系统中发挥着重要作用,为用户提供了更大的灵活性和组织能力。在本文中,我们将深入探讨 ln 命令是什么,以及如何使用它来创建链接,以提高文件管理的效率。
修己xj
2023/08/25
3590
深入探索Linux文件链接技术:ln命令的妙用
【Linux】ln -sf软连接
-b 删除,覆盖以前建立的链接 -d 允许超级用户制作目录的硬链接 -f 强制执行 -i 交互模式,文件存在则提示用户是否覆盖 -n 把符号链接视为一般目录 -s 软链接(符号链接) -v 显示详细的处理过程
瑞新
2021/12/06
8.4K0
Linux软连接和硬链接
1.Linux链接概念 一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 注意:ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化; 索引节点(inode) 要了解链接,我们首先得了解一个概念,叫索引节点(inode)。在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),
汤高
2018/01/11
6.6K0
特殊权限以及软连接和硬链接
set _uid: set uid 保证普通用户临时拥有一个root用户权限,文件必须是一个临时可执行的二进制文件。 set uid 用法 同样set_uid也可以使用这种写法: 这样写没有x权限 我
叶瑾
2018/06/14
1.9K0
linux软链接和硬链接
硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外一处数据如果被删除了,不会影响到另一处的数据.
阳光岛主
2019/02/19
9.2K0
linux之软连接和硬连接的区别
原文链接:https://rumenz.com/rumenbiji/linux-soft-hard-link.html
入门笔记
2021/09/26
5.2K0
LINUX软链接和硬链接
1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 【硬连接】 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索 引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户 就可以建立硬连接到重要文件,以防止“
wangxl
2018/03/07
8.7K0
linux创建文件
  使用cat创建文件时,以系统默认的文件属性作为新文件的属性,并接受键盘输入作为文件的内容。输入结束时按Ctrl+d退出并保存文件。
全栈程序员站长
2022/09/07
8.1K0
Linux ln命令 - 建立文件/目录链接
ln -s abc cde 建立abc 的软连接 (注意-s的参数)
sinnoo
2021/07/27
9.4K0
一天一个 Linux 命令(18):ln 命令
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/147
joshua317
2021/09/29
5910
Linux文件的软链接和硬链接
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
恋喵大鲤鱼
2018/08/03
8.1K0
linux ln 软连接_ln命令建立软链接
[root@ www.linuxidc.com ~]# ln -s /home/kk/ss.sh ~ #如果不写目标地址,即在当前目录建接立链接
全栈程序员站长
2022/11/11
10.2K0
linux 删除 软连接(shell创建软连接)
1、区分 符号连接 “源文件”可以是文件或者目录 硬连接, “源文件”参数只能是文件
全栈程序员站长
2022/07/29
8K0
【linux命令讲解大全】019.ln命令:文件链接的创建和使用方法
ln命令用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接类型是硬链接。如果要创建符号链接必须使用-s选项。
全栈若城
2024/03/02
3570
软连接 硬连接
硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用.   软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件.   下面详细介绍一下硬链接和软连接之间的区别.   1.硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识);而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的 inode 有区别。   2.若原文件删除了,则该软连接则不可以访问,而硬连接则是可以的。   3.由于符号链接的特性,导致其可以跨越磁盘分区,但硬链接不具备这个特性.   另外在转载一下网上的介绍.   硬链接(hard link) ln   UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本。系统简单地通过在目录中建立一个新的登记项来实现这种连接。该登记项具有一个新的文件名和要连接文件的inode号(inode与原文件相同)。不论一个文件有多少硬链接,在磁盘上只有一个描述它的inode,只要该文件的链接数不为0,该文件就保持存在。硬链接不能对目录建立硬链接!   硬连接是直接建立在节点表上的(inode),建立硬连接指向一个文件的时候,会更新节点表上面的计数值。举个例子,一个文件被连接了两次(硬连接),这个文件的计数值是3,而无论通过3个文件名中的任何一个访问,效果都是完全一样的,但是如果删除其中任意一个,都只是把计数值减1,不会删除实际的内容的,(任何存在的文件本身就算是一个硬连接)只有计数值变成0也就是没有任何硬连接指向的时候才会真实的删除内容。   软链接(symbolic link) ln-s   把符号链接称为软链接,它是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名。软链接是为了克服硬链接的不足而引入的,软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数据部分-->目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接!其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。
zhangjiqun
2024/12/16
2770
Linux中的硬链接与软链接?
硬链接:在一个文件里面,对于目录来说,记录着文件的名字和inode号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号,是文件的唯一标识),我们也可以在多个目录里记录相同的inode号,它们的名字不一定相同,但只要inode号一样就行,它们最终都链接到一个文件里,这就是硬链接。也就是说,当文件的硬链接数被目录记录了一次,文件的硬链接数就增加了一次。所以,文件只要在目录里存在,它就至少有一个硬链接。
用户4877748
2020/07/21
4.6K0
linux每日命令(3):ln命令
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
用户1214487
2018/11/09
1.6K0
Linux软链接与硬链接实战解析
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。
公众号guangcity
2019/09/20
6.3K0
Linux软链接与硬链接实战解析
相关推荐
linux mysql 软连接_linux 软连接的使用[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验