Qt随笔
来源:互联网 发布:labview串口数据采集 编辑:程序博客网 时间:2024/06/05 16:51
Qt随笔 - QSettings
QSettings类提供了持久的跨平台应用程序设置。
嗯,一句话概括QSettings……
创建
来看一下原型: QSettings::QSettings(const QString &organization, const QString &application = QString(), QObject *parent = Q_NULLPTR)
栗子:
QSettings settings("MySoft","App");
第一个参数是公司组织名,而后是程序名。
也可以直接使用QCoreApplication::setOrganizationName()
和 QCoreApplication::setApplicationName()
默认组织程序名:
QCoreApplication::setOrganizationName("MySoft");QCoreApplication::setOrganizationDomain("mysoft.com");QCoreApplication::setApplicationName("App");...QSettings settings;
写值
1.单纯的对应
settings.setValue("height", 200);
这里便创建了一个height键并赋值为200
(如果存在相同的设置键,现有的值将被新值覆盖。为了提高效率,这些变化可能不会被立即保存到永久存储,可以随时调用sync()来提交更改)
2.前缀
settings.beginGroup("MainWindow");settings.setValue("height", 200);settings.setValue("weight", 100);settings.endGroup();
这里在MainWindow的前缀下便有了值为200的height键和值为100的weight键
读值
1.单纯的对应
settings.value("height",200);
返回相应值,第一个参数就是所对应的键的名称了,第二个参数则是默认值(也就是说如果没有height的值时,QSettings将会返回一个空QVariant(可转换为整数0),那么这时就可以使用默认值)
2.前缀
settings.beginGroup("MainWindow");settings.value("height", 200);settings.value("weight", 100);settings.endGroup();
同上,同上~
键的操作
1.获取所有键 QStringList QSettings::allKeys() const
无参数,返回一个包含所有键的QStringList(注意 include!)
来吧,看看官方的Example:
QSettings settings;settings.setValue("fridge/color", QColor(Qt::white));settings.setValue("fridge/size", QSize(32, 96));settings.setValue("sofa", true);settings.setValue("tv", false);QStringList keys = settings.allKeys();// keys: ["fridge/color", "fridge/size", "sofa", "tv"]
2.获取所有子键集 QStringList QSettings::childGroups() const
官方的Example:
QSettings settings;settings.setValue("fridge/color", QColor(Qt::white));settings.setValue("fridge/size", QSize(32, 96));settings.setValue("sofa", true);settings.setValue("tv", false);QStringList groups = settings.childGroups();// groups: ["fridge"]
3.获取所有子键 QStringList QSettings::childKeys() const
Example:
QSettings settings;settings.setValue("fridge/color", QColor(Qt::white));settings.setValue("fridge/size", QSize(32, 96));settings.setValue("sofa", true);settings.setValue("tv", false);QStringList keys = settings.childKeys();// keys: ["sofa", "tv"]
4.判断是否存在指定的键 bool QSettings::contains(const QString & key) const
5. 删除相关的键 void QSettings::remove(const QString & key)
4.删除所有键 void QSettings::clear()
嗯,终于写完了,自己目前正好要做一个有关QSettings的项目,心里有底了……感觉QSettings的文档里的example是有史以来最多的……
- QT 随笔
- Qt随笔
- Qt随笔
- Qt 随笔记录
- Qt小随笔
- My Qt随笔笔记
- Qt 使用随笔
- qt编译问题随笔
- QT入门学习随笔
- QT编程随笔
- QT学习随笔---信号槽
- Qt随笔之Qt线程同步
- QT随笔(1):鼠标事件小结
- 随笔(Qt父子对象的析构:对象模型)
- Qt 编程开发随笔,边开发边记
- QT Tcp客户端发送接收并存初体验随笔
- QT QML初体验随笔之QQuickView(1)
- QT QML初体验随笔之QQuickView(2)
- 数组的深clone
- 【C语言】可变参数
- MyBatis传递多个参数
- 03.17 Linux环境变量及含义
- POJ 2626 Chess 笔记
- Qt随笔
- Flume 1.7.0 User Guide
- 手机登录FTP修改文件较好的软件
- leetcode628: Maximum Product of Three Numbers
- Go语句实现简单的冒泡排序
- SynchronousQueue的实现 TransferQueue (一)
- MongoDB索引入门
- Go实战--golang中defer的使用(有事没事defer一下)
- 递归删除某类文件(命令行实现)