QT 资源不起作用
QT resources doesn't work
我正在编写一个应该在另一台计算机上使用的程序,因此我需要将我的 .txt
文件与它一起。
我创建了一个 QT资源文件并添加了一个.txt
文件,然后我在三个窗口中使用了它。它的工作正常,直到我将另一个.txt
文件添加到仅在一个窗口中使用的资源。
因此,我有users.txt
文件,我从中登录了程序和管理用户帐户,并且我有cars.txt
,它是汽车的数据库。
QFile text(":konta/users.txt");
text.open(QIODevice::ReadOnly | QIODevice::Text);
QTextStream wczytaj(&text);
此部分有效,但在下一个窗口中
QFile text(":konta/users.txt");
text.open(QIODevice::ReadOnly);
QTextStream wczytaj(&text);
此部分不起作用,我的功能可以检查文件是否打开并且是否存在,并且它们返回其存在但不打开。
现在是最新窗口:
QFile baza(":/auta/cars.txt");
baza.open(QIODevice::Append | QIODevice::Text);
QTextStream zapisz(&baza);
if(!baza.exists()){QMessageBox::warning(this,"Uwaga","Baza nie została odnaleziona");}
else if(!baza.isOpen()){QMessageBox::warning(this,"Uwaga","Baza nie została otworzona");}
同一问题在这里,文件存在但未打开。它在一个窗口中起作用很奇怪。在添加第二个.txt
文件之前,所有情况都可以使用(除了当时不存在的代码的第三部分(。我没有更改这些文件或功能。
我还应该补充一点,如果我为文件C/folder/folder/file.txt
提供了完整的路径,它没有问题,但是我也需要它在其他计算机上工作,因此对我不利。
我想这个问题可能是在电流路径上。当您从QT Designer当前路径启动应用程序时,是../(当前目录的父级(。启动应用程序时,直接默认路径为./(当前目录您的.exe在哪里(。您可以使用此代码获取通用默认目录的通用路径:
QString path = QApplication::applicationDirPath() % "/";
顺便说一下,您可以使用qfiledialog类让您手动选择文件。与文本文件相比,最好使用SQLite存储用户,汽车等。QT为SQLite提供了内置的支持 - 它可以快速易于使用。
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- C++为什么尽管我调用了void函数,它却不起作用
- 为什么在保护模式下继承升级不起作用
- 循环在计数器中不起作用
- 在其他文件中创建类时在 c++ 项目中不起作用
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 为什么二进制搜索在我的测试中不起作用
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 带有指定长度字符* 参数的 std::regex_search 在 VS2017 中不起作用?
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- 为什么简单的算术减法在"if"条件下不起作用?
- C++17 多态记忆资源不起作用
- QT 资源不起作用
- 预期';' - 我从学习资源复制了此代码,但它不起作用
- QT应用程序在Windows资源管理器上不起作用?
- Qt qrc 资源路径不起作用
- 从资源加载图像不起作用(C++ Dll)