Sada je: 16 tra 2024, 18:47.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Pa i ovaj Qt sam tamo negdje 2010. jedva skinuo i pokrenuo na Windowsima. I to uz vašu pomoć na ovome forumu. Prije toga sam skinuo 2-3 verzije koje nisu radile...
Sad jednostavno ne znam što sam ja od ovoga ponuđenoga:
https://www.qt.io/download/

Commercial deployment - to nisam jer nemam namjeru prodavati ono što napravim
In-house deployment, private use, or student use - možda je ovo najsličnije...
Open source distribution under a LGPL or GPL license - ovo i ne znam što je...

Ako odaberem drugu opciju, hoću li moći normalno kompajlirati program i dijeliti okolo?

Što se tiče debug i relaese. Kod pokretanja na zelini play trokutić, Qt napravi oba foldera, ali onaj relaese je prazan. EXE se nalazi u debug folderu i kad tu stavim one silne dll-ove, onda radi bez problema.
Molim pojašnjenje i upute (i razumijevanje - ipak sam ja učitelj koji je cijeli život radio kao stolar - tijekom mojega školovanja najveći tehnološki domet je bio crveno-crni kalkulator DIGITRON - Buje).
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
Upravo iznad zelenog trokuta (Run) imaš opciju switchanja između Debug i Release moda.
Ako odabereš release - tada će ti exe biti u release folderu. Vjerojatno dosta manji (u MB) i ne zahtjeva one ogromne DLL-ove.

slika

Što se tiče licence, mislim da je svejedno. Ali ja bih odabrao treću stavku.

Inače, sve bi ti ovo bilo puuuuno lakše da si na linuxu... :hmm :zvizdi
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Avatar
Moderator
Postovi: 4366
Moderator
Postovi: 4366
Pridružen/a: 28 sij 2009, 18:46
Podijelio/la zahvalu: 86 puta
Primio/la zahvalu: 148 puta
Spol: M
OS: openSUSE Leap KDE
Ma vjerujem da bi, ali što mogu kad su svi moji potencijalni korisnici na Windwsima. Ili barem 99% njih...
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
Ovaj Qt stalno ima neke mušice koje ne mogu poloviti...
Ovo mi radi bez problema:

Kod: Označi sve
    QString a="D:/prizna_qt/proba1/jabuke.jpg";
    ui->label->setPixmap(a);

a ako napišem ovako...

Kod: Označi sve
    QString a="D:/prizna_qt/proba1/jabuke.jpg";
    ui->label->setPixmap("D:/prizna_qt/proba1/jabuke.jpg");

... on kaže da no matching function for call to QLabel::setPixmap(const char [31])

A u nekom drugom probnom programčiću radi direktan unos staze... zašto tako?
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
Zato sto mijesas tipove.

Ima dosta legalnih nacina da se to napise, npr. ovi ce raditi:

Kod: Označi sve
setPixmap(QString("some"));
setPixmap(QPixmap("some"));
setPixmap(QPixmap(QString("some")));


Pogledaj deklaraciju funkcije setPixmap() i konstruktore klasa QString & QPixmap.
Avatar
Postovi: 408
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Lokacija: BiH, Kakanj
Podijelio/la zahvalu: 46 puta
Primio/la zahvalu: 30 puta
Spol: M
OS: Arch / Manjaro / #!
Uf...
Zna li netko što mi ovdje poručuje moj prijatelj Qt:

collect2: ld returned 1 exit status

:zabrinut

Edit:
Našao sam problem. Imam dvije forme i ne da mi u obje deklarirati istu varijablu (int i). Iako u drugoj formi ne prepoznaje onaj int i deklariran u prvoj formi, u drugoj ga ne da deklarirati s istim imenom...
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
Kako da riješim naše čvrčkice (afrikate) - čćšđž...
Ovo je linija koda:

Kod: Označi sve
QMessageBox::warning(this, tr("Upozorenje!"), tr("Nije sve riješeno!"));

A u MsgBoxu on meni napiše "Nije sve rijeeno!"
Onda pokušam ovo:

Kod: Označi sve
           QString poruka="Nije sve riješeno!";
            QMessageBox::warning(this, tr("Upozorenje!"), tr(poruka));

A on kaže error... no matching function... nešto
Moram priznati da me ove mušice već pomalo umaraju. Najprije se mučim i istražujem cijeli dan i onda ovdje ponizno priznam da ne znam napisati "I cvrči, cvrči, cvrčak na čvoru crne smrče..." unutar MsgBoxa.
(isti problem mi je i windowTitle - iz koda ne mogu koristiti čvrčkice, ali u propertisima od forme mogu u windowTitle bez problema upisati čćžđš i sluša me...)
Molim pomoć, jer (naravno) cilj je da svime upravljam iz koda, a ne iz propertisa.
Unaprijed zahvaljujem....
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
Našao sam ovo:

http://stackoverflow.com/questions/8705 ... g-to-utf-8

http://www.qtcentre.org/threads/35735-U ... messageBox

ali meni jednostavno ne radi:

Kod: Označi sve
QMessageBox::warning(this, tr("Upozorenje!"), QString::fromUtf8("Nije sve riješeno!"));

Ne radi ni sa QString::fromUtf8() ni sa QObject::trUtf8().
Što ne radim dobro?
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
Ovaj Qt prepun je iznenađenja za jednog osrednjeg neznalicu. ČŽŠ još nisam riješio, kao ni prijenos vrijednosti varijable iz jedne forme u drugu, a već me iza ugla dočeka nova kugla.
Dakle...
Iz neke datoteke trebam čitati liniju po liniju i uspoređivati je s nekim stringom, pa ako linija==moj_string, onda ide neka akcija (u ovom mom primjeru exit(1)).
I sad...
Ovo u obliku do-while mi radi i prepoznaje moj if:
Kod: Označi sve
    QFile datoteka_radovi("./prijenos.pru");
    QTextStream ulaz(&datoteka_radovi);
    if (datoteka_radovi.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        do
        {
           linija = ulaz.readLine();
           if (linija=="moj_string")
           {
               exit(1);
           }
        }while (!bez_veze.isNull());
        datoteka_radovi.close();
    }
Radi i u obliku for, ali problem je što ne znam unaprijed broj linija:
Kod: Označi sve
    QFile datoteka_radovi("./prijenos.pru");
    QTextStream ulaz(&datoteka_radovi);
    if (datoteka_radovi.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        for (i=0;i<broj_linija;i++)
        {
           linija = ulaz.readLine();
           if (linija=="moj_string")
           {
               exit(1);
           }
        }
        datoteka_radovi.close();
    }
Ali u obliku while... atEnd iz meni nekog neobjašnjivog razloga ne radi:
Kod: Označi sve
    QFile datoteka_radovi("./prijenos.pru");
    QTextStream ulaz(&datoteka_radovi);
    if (datoteka_radovi.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        while(!datoteka_radovi.atEnd())
        {
           linija = ulaz.readLine();
           if (linija=="moj_string")
           {
               exit(1);
           }
        }
        datoteka_radovi.close();
    }
Nema errora kod kompajliranja, program se uredno pokrene, sve uredno odvrti do kraja, ali ne prepozna da su jedna linija iz fajla i "moj_string" isti. A jesu isti, jer u onim petljama for i do-while onaj if vrati istinu i program završi. Naravno, u kodu će ostati do-while i problem je time riješen, ali tako me živo zanima zašto ne radi while(!datoteka_radovi.atEnd()). U tu petlju sam umetnuo int brojac_prolazaka i on nabroji neku nebulozu od oko 28000 prolazaka, a fajl ima svega stotinjak linija.
Postovi: 135
Postovi: 135
Pridružen/a: 18 stu 2010, 06:51
Lokacija: Sesvetski Kraljevec
Podijelio/la zahvalu: 2 puta
Primio/la zahvalu: 4 puta
Spol: M
OS: Windows 7
@UTF-8
Kod: Označi sve
QMessageBox::warning(this, tr("Upozorenje!"), QString::fromUtf8("Nije sve riješeno!"));

slika

Kod: Označi sve
setWindowTitle(QString::fromUtf8("ČČČČ ĆĆĆĆ ŠŠŠ ĐĐĐĐ ŽŽŽŽ"));

slika

Ako ti ne radi, moguce da je problem u nekom od "slojeva" ispod.
btw. u Qt5 ovo radi i bez "pretvaranja".

@prenos_varijabli?
Kakve forme? U GUI programiranju prostoje klase koje imaju interfejs pomocu kojeg komuniciraju s ostalim klasama.

@file
1. Ako je prazan file, sta ce do-while petlja procitati iz fajla? I sta je bez_veze?
2. for petlja ne mozes koristit iz razloga kojeg si rekao
3. Citas iz ulaz a cekas da pointer u datoteka_radovi kode do kraja datoteke? Odaberi jedno.

Qt ima ODLICNU dokumentaciju. QFile, imas nekoliko i primjera.
Avatar
Postovi: 408
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Lokacija: BiH, Kakanj
Podijelio/la zahvalu: 46 puta
Primio/la zahvalu: 30 puta
Spol: M
OS: Arch / Manjaro / #!

Na mreži
Trenutno korisnika/ca: / i 2 gostiju.