小编Rin*_*nat的帖子

是否有任何Qt SQLite插件用于通过VFS在RAM中存储数据库(用于从Qt资源文件加载数据库)?

:/test.sqlite3里面有一些数据库.qrc.目标是在程序中直接使用此数据库.数据库仅用于阅读.

QSqlDatabase::setDatabase(":/test.sqlite3") 不起作用,因为Qt SQLite并非设计用于处理Qt的文件系统.

解决方案之一是将数据库复制.qrc到其中D:\temdb.sqlite3并使用它QSqlDatabase::setDatabase("D:\\temdb.sqlite3").但程序不能与OS文件系统一起使用.

第二种解决方案是存储:/dump.sql在资源中,然后QSqlDatabase::setDatabase(":memory:")通过读取和执行行来创建内存数据库并将dump导入其中:/dump.sql.但这种方法很慢.

而且,最后,艰难但真实的方法是为SQLite创建自己的Qt插件,VFS实现从RAM读取数据库,其中我们有字节 ":/test.sqlite3".

还有其他简单方法吗?

PS我已经阅读了所有问题,如将内存中的sqlite数据库转换为blob/char数组等,所以不要将其标记为重复.我的问题是关于任何其他方法.

sqlite qt vfs qt5

6
推荐指数
1
解决办法
516
查看次数

为什么QMenu的分隔符不显示文本?

我的目标是制作带有标签分隔符的菜单。因此,我正在运行以下代码:

QMenu *menu = new QMenu;

QAction *group1 = menu->addSeparator();
group1->setText("Group of actions #1");
menu->addAction("Action #1");
menu->addAction("Action #2");
menu->addAction("Action #3");

QAction *group2 = menu->addSeparator();
group2->setText("Group of actions #2");
menu->addAction("Action #1");
menu->addAction("Action #2");
menu->addAction("Action #3");

QToolButton btn;
btn.setText("Click me");
btn.setMenu(menu);
btn.setPopupMode(QToolButton::InstantPopup);

btn.show();
Run Code Online (Sandbox Code Playgroud)

并得到这个

QMenu的分隔符文本未显示

而不是这个(我是由MS Paint创建的:))

在此处输入图片说明

怎么了?

编辑:是的,还有另一个类似这样的问题(QMenu中的非交互式项目),但是可能存在更简单的方法吗?

解决方案之一是使用“融合”主题:)我刚刚将以下代码添加到int main函数中:

int main(int argc, char *argv[]) {
    QApplication::setStyle("Fusion");
    QApplication a(argc, argv);
    ...
Run Code Online (Sandbox Code Playgroud)

qt qmenu qaction

5
推荐指数
1
解决办法
1407
查看次数

如何在Firebase中使用"equalTo"和值列表?

我有一些数据

{
  "1": {
    "result": 303
  },
  "2": {
    "result": 307
  },
  "3": {
    "result": 703
  },
  "4": {
    "result": 909
  },
  "5": {
    "result": 909
  }
}
Run Code Online (Sandbox Code Playgroud)

所以我可以得到3键的结果字段:

ref.child("3").once("value", (snapshot) => {
  const data = snapshot.val();
  console.log(data.result);
});
Run Code Online (Sandbox Code Playgroud)

但是,我想获得的阵列结果3,4,5个键在一个查询.我怎样才能做到这一点?

firebase

4
推荐指数
1
解决办法
2202
查看次数

标签 统计

qt ×2

firebase ×1

qaction ×1

qmenu ×1

qt5 ×1

sqlite ×1

vfs ×1