dmx81 Temat założony przez niniejszego użytkownika |
[Qt] problem z zapisem do pliku » 2010-09-13 23:37:11
void OKNO::zapisz() { QFile file( "plik.txt" ); file.open( QIODevice::WriteOnly | QIODevice::Text ); QTextStream out( & file ); out << "wiadomosc \n"; file.close(); } void OKNO::on_zatwierdz_clicked() { zapisz(); }
mam problem z zapisem, poniewaz jesli pliku nie ma, to sie nie tworzy, a jesli sam go utworze, to i tak nic sie z nim nie zapisuje, dlaczego?? zmienilem juz void OKNO::on_zatwierdz_clicked() { zapisz(); }
connect( zatwierdz, SIGNAL( clicked() ), this, SLOT( zapisz() ) );
i dalej nic, chociaz jedna i druga metoda powinny sie sprawdzic, oczywiscie w okno.h w slotach mam zadeklarowane zapisz(), bledow zadnych nie wywala |
|
malan |
» 2010-09-13 23:50:52 |
|
dmx81 Temat założony przez niniejszego użytkownika |
» 2010-09-14 00:28:37 zwraca 0 , czyli brak bledu otwarcia pliku, ide spac, jutro bede dalej kombinowal, chyba ze ktos na cos wpadnie int OKNO::zapisz() { QFile file( "dawid.txt" ); if( !file.open( QIODevice::WriteOnly | QIODevice::Text ) ) { return file.error(); } else { QTextStream out( & file ); out << "This file is generated by Qt\n"; file.close(); return file.error(); } }
int OKNO::blad() { QString ss; nazwline->setText( ss.setNum( zapisz() ) ); return zapisz(); }
connect( zatwierdz, SIGNAL( clicked() ), this, SLOT( zapisz() ) ); connect( zatwierdz, SIGNAL( clicked() ), this, SLOT( blad() ) );
|
|
malan |
» 2010-09-14 15:59:53 Najpierw to sprawdź, czy program wchodzi do funkcji - np. poprzez wstawienie do niej QMessageBox. Jeżeli tak to uruchom program z uprawnieniami administratora. Jeśli to nic nie da, to hm..., zamień out << "This file is generated by Qt\n"; na: out << "This file is generated by Qt"; i uruchom program z uprawnieniami administratora. Gdyby to nie poskutkowało to... wyłącz komputer, powyzywaj na Qt i idź pooglądać telewizor... albo się napić... ;p. |
|
dmx81 Temat założony przez niniejszego użytkownika |
» 2010-09-14 23:13:51 juz smiga - plik tworzyl sie i zapisywal nie w gownym katalogu program (czyli nie tam gdzie mam pliki zrodlowe i naglowki) ale w katalogu "nazwa-build-desktop" - to zapisywanie juz dziala, tylko czy teraz chcac cos odczytac z pliku podajac tylko nazwe "plik.txt" to plik ma byc w katalogu "projekt" czy "projekt-build-desktop" ? |
|
malan |
» 2010-09-15 00:04:09 To zależy od Ciebie - dokładnie mówiąc od tego gdzie umieścisz plik. Jeżeli go umieścisz w projekt-build-desktop/plik.txt to wystarczy podać "plik.txt" , w przeciwnym wypadku musisz podać całą ścieżkę. |
|
dmx81 Temat założony przez niniejszego użytkownika |
» 2010-09-15 00:35:42 ok dzieki, myslalem ze glowny katalog czyli tam, gdzie nie podaje sie sciezek, to tak jak w przypadku include "mainwindow" - katalog z plikami zrodlowymi i zrodlami, ale teraz juz wiem, ze ten drugi :) |
|
« 1 » |