Seite 1 von 1

file.txt in qrc , can not open

Verfasst: 31. Dezember 2009 17:09
von Igell
Ich habe mir benutze die Datei index.txt als meine kleine Daten Bank, deshalb wollte ich sie in ein qrc Datei einbinden.

qrc File:

Code: Alles auswählen

<RCC>
    <qresource prefix="/new/prefix1">
        <file>file/icon1.png</file>//für einen Button // was auch funktioniert 
        <file>file/index.txt</file>
    </qresource>
</RCC>
Das ganze überprüfe ich mit einem eigendem Slot :

Code: Alles auswählen

void Erika::index_open1()//SLOT
{
    QString fn = ":/new/prefix1/file/index.txt";
    QFile index(fn);
    index.open(QIODevice::ReadWrite);
    //püft ob datei offen ist //reade/wirte
    if(index.isOpen())
    {
        QMessageBox::information(this,"Erfolg","Die Datei ist offen",QMessageBox::Close);

    }
    else
    {
        QMessageBox::information(this,"Fail","Die Datei ist Geschlossen",QMessageBox::Close);

    }

}
Leider lässt sich die Datei nicht öffnen.

Jemand eine Idee ?

Verfasst: 3. Januar 2010 09:31
von 24dan
versuch mal

Code: Alles auswählen

<RCC>
    <qresource prefix="/newPrefix">
        <file>icons/adler_32.png</file>
stuff..
        <file>icons/vorschau_128.png</file>
        <file>icons/zahlengruppen_48.png</file>
    </qresource>
<qresource prefix="/">
        <file>meldungen.txt</file>
    </qresource>
</RCC>
Habe meldungen.txt extra eingebunden und es würggt schon :wink:

Verfasst: 3. Januar 2010 13:15
von Igell
Es will einfach nicht.

Code: Alles auswählen

<RCC>
    <qresource prefix="/">
        <file>text.txt</file>
    </qresource>
</RCC>
//mywidget.cpp

Code: Alles auswählen

#include "mywidget.h"
#include <QBoxLayout>
#include <QFile>
#include <QMessageBox>
#include <qrc_image.cpp>

MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
{
    QVBoxLayout *vLay1 = new QVBoxLayout(this);
                 but1  = new QPushButton("Button1");
                 lab1  = new QLabel("TextTextText");
                 index = new QFile(":/text.txt");


    //vLay1 edit
    vLay1->addWidget(lab1);
    vLay1->addWidget(but1);

    //this
    this->setMinimumSize(250,260);

    //siganl _ SLOT
    this->connect(but1,SIGNAL(clicked()),this,SLOT(open1()));
}

MyWidget::~MyWidget()
{

}

void MyWidget::open1()
{

    index->open(QIODevice::WriteOnly);

    if(this->index->isOpen())
    {
        QMessageBox::information(this,"Erfolg","File is Open",QMessageBox::Ok);

    }
    else
    {
        QMessageBox::information(this,"Fail","File is not Open",QMessageBox::Ok);
    }


}
//mywidget.h:

Code: Alles auswählen

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include <QtGui/QWidget>
#include <QPushButton>
#include <QLabel>
#include <QFile>

class MyWidget : public QWidget
{
    Q_OBJECT

public:
    MyWidget(QWidget *parent = 0);
    ~MyWidget();
    QLabel      *lab1;
    QPushButton *but1;
    QFile       *index;

private slots:
    void open1();




};

#endif // MYWIDGET_H
Die txt Datei befindet sich im selben ordner wie das Prog.
Kann nicht verstehen warum.

Verfasst: 3. Januar 2010 14:07
von Christian81
Wird die qrc-Datei überhaupt eingebunden? Bitte erzeug ein kleines Beispielprogramm (als zip) und hänge es an damit wir es uns anschauen können.
Für mich sieht es so aus als würde die qrc-Datei gar nicht mit kompiliert.

Verfasst: 3. Januar 2010 14:13
von 24dan
Die txt Datei befindet sich im selben ordner wie das Prog.
Kann nicht verstehen warum.
Du bist dir sicher das es im gleichen ordner nicht das dein prog im debug ordner läuft und du die sachen unter dem Projekt Ordner abgelegt hast? :roll: