C, C++, Java, PHP, Ruby...

Pravila foruma

U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Odgovori

Re: [C++ / Qt] Besplatni udžbenici

15 srp 2015, 20:32

Najprije zahvaljujem...
bez_veze je ime QString varijable. Naime, da mi neki txt fajl bude pregledan i u Notepadu, dodajem naslove, podvlačim s "---------------------" i slično. Onda te linije moram "potrošiti" da bih došao do onoga što mi treba.
Forme su ui. Imam dvije: animacija.ui i mainwindow.ui
U mainwindow.ui ima lineEdit u kojemu piše broj aktivne stranice (udžbenika), a u animacija.cpp imam globalnu varijablu int broj_stranice, kojoj bih želio dodijeliti vrijednost ui->lineEdit->text().toInt
Zapravo bih bio najstretniji kad bih znao gdje da tu int broj_stranice varijablu deklariram kao vidljivu i dostpnu iz svakog i najmanjeg djelića programa (jer će tih ui vjerojatno biti još).
U VisualBasicu bih je u nekom Module.bas deklariram kao public i ona postaje nešto kao "nadglobalna" varijabla. Ne znam kako bih to drukčije nazvao. Svuda je vidljiva i dostupna.
Ovo sa ČĆŠĐŽ mi ne radi. Linija je ista kao i tvoja, ali ne radi. Možda je neki problem u Windowsima...
Ali recimo, ako isti taj text sa đžćčš upišem direktno u windowTitle Property onda sve radi okej. Ali ako ga probam dodijeliti u kodu, onda umjesto žćčšđ dobivam neke čudne karaktere.

Re: [C++ / Qt] Besplatni udžbenici

15 srp 2015, 22:20

@ČĆŠĐŽ
Postoji User Interface Compiler (uic) koji od *.ui napravi ui_*.h pa pogledaj kakav kod generise za windowTitle. Ako taj kod radi.

@animacija.cpp
Ako imas .cpp onda imas i .h fajl gdje je klasa deklarisana. I tu stavis varijablu koja_ti_vec_treba u public "sekciju". Vjerovatno je to losa praksa, sigurnije bi bilo staviti kao private i napraviti get() & set() funkcije.

@fajl
To s fajlovima zna biti naporno, SQLite?

Re: [C++ / Qt] Besplatni udžbenici

16 srp 2015, 14:32

Ne uspijeva mi...
Kad u animacija.cpp deklariram varijablu int broj_stranice, ta bi varijabla trebala poprimiti vrijednost iz mainwindow.ui. Da je ta varijabla unutar mainwindow.cpp, stvar bi izgledala ovako nekako:

Kod:
int broj_stranice=ui->lineEdit_3->text().toInt();

Međutim, int varijabla mi treba u animacija.cpp. Ono što bih ja htio i što mi se čini logično, izgledalo bi ovako:

Kod:
int broj_stranice=MainWindow->lineEdit_3->text().toInt();


Naravno, ovo ne radi. Ima li neka jednostavna linija koda kojom bih unutar animacija.cpp došao do neke vrijednosti iz mainwindow.cpp?

A što se tiče baze, nekako sam li-la. S bazama nisam nikad radio, pa bih i tu morao svaku sitnicu istraživati danima, a i datoteke su mi lako pregledne i lako prenosive bilo kamo (recimo od kuće u školu, kao domaću zadaću). Mislim da će mi najdulja datoteka imati cca 10 000 linija (puta najčešće 2-5 karaktera), što mi se ne čini previše za pretragu u nekoj petlji.

Re: [C++ / Qt] Besplatni udžbenici

18 srp 2015, 10:25

Da ne gnjavim samo @gagija... imam novi problem, pa možda netko drugi malo pomogne:

Kod:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QLabel>

QLabel *labela_zir[10];


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
    exit(1);
}

void MainWindow::on_pushButton_2_clicked()
{
    QString slika="D:/prizna_qt/racunaljka_100/zir2.jpg";//ovdje ti treba neka tvoja staza
    for (int i = 0; i < 10; ++i)
        labela_zir[i] = new QLabel(this);
    for (int i = 0; i < 10; ++i)
        {
        labela_zir[i]->setGeometry(100,50*i+50,25,35);
        labela_zir[i]->setPixmap(slika);
        labela_zir[i]->show();
        }
}

//e sad... trebam neki slot poput ovoga ispod

/*
void MainWindow::on_labela_zir_clicked(int broj_kliknute_labele)
{
    if (broj_kliknute_labele==1)
       napravi_nesto();
    if (broj_kliknute_labele==1)
       napravi_nesto_drugo;

ili...

    for (i=0;i<broj_kliknute_labele;i++)
       napravi_nesto_sa_svim_zirevima_do_kliknutoga();

itd...
}

*/
//prvi je problem što slot _clicked uopće ne postoji za labele
//sljedeći je problem što bih ja u tu funckiju trebao "dovesti" podatak o tome koja je labela kliknuta
//jer o tome ovisi i koja će akcija biti u funkciji
//inače, bit će 100 takvih labela (starinska računaljka na kuglice - u ovom slučaju žireve)
//pa mi je blesavo raditi 100 istih funkcija koje se razlikuju samo po tome koji je žir kliknut


Sve piše u komentaru koda. Treba i neka sliičica zir.jpg...
Unaprijed zahvaljujem svima.

Re: [C++ / Qt] Besplatni udžbenici

18 srp 2015, 14:31

Evo verzija s gumbima umjesto labela (oni ipak imaju _clicked):

http://podrucna-skola-jamarice.kuhinje- ... uttons.zip

Tu su i potrebne slikice. Sve će se skužiti iz koda i komentara u kodu....
Mislim... tko ima volju...

Re: [C++ / Qt] Besplatni udžbenici

19 srp 2015, 19:02

Podijelio sam ti temu da ti u ovu ne zatrpamo savjetima o distribuciji ;)

Novu temu imaš ovdje.

Re: [C++ / Qt] Besplatni udžbenici

20 srp 2015, 08:42

@bertone
Zahvaljujem, ali nije to baš neka prava tema... zapravo, eno je - već gotova...

Nitko nema rješenje za moje dvodimenzionalno polje buttona?

Re: [C++ / Qt] Besplatni udžbenici

22 srp 2015, 13:48

Ovo je ludilo...
Sad, kad sam već poprilično odmakao, ustanovim novo sr@nje za koje nemam rješenje. S diska u labele podižem slike. Recimo:

Kod:
   QString naslovna="./stranice_jpg/mat2_u_naslovnica.jpg";
   ui->label_slika->setPixmap(naslovna);

Sve kompajliram u release modu. U release folderu napravim folder stranice_jpg i u njemu imam sliku mat2_u_naslovnica.jpg. Uz .exe u release folder stavim i sve .dll za koje se buni da mu fale. I iz Windows Explorera pokrenem .exe - sve radi super.
Onda cijeli release folder zipam i prenesem na drugo računalo (na kojemu nema Qt) i - ne podiže mi nijednu sliku (?!). Textualne datoteke sa stazama iste konstrukcije ("./foder/datoteka.txt") otvara i zatvara normalno, sve uredno zapisuje u njih i čita iz njih. Samo slike ne ferma, kao da uopće ne postoje. Ako na ovom svom laptopu taj isti release folder kopiram na neki drugi disk, zakopam ga u foldere i podfoldere jako duboko - pokrenem .exe i radi normalno. Ali na onim računalima na kojima nema instaliran Qt - neće. Probano na dva računala... Već sam pomalo očajan. Prve demo uzorke bih trebao poslati najkasnije do petka i sva sreća da sam prije probao.
Molim pomoć...
Ako netko želi isprobati, evo linka:
http://podrucna-skola-jamarice.kuhinje- ... elease.zip
Nema koda i trebalo bi probati na Windowsima. Nakon raspakiravanja u folderu release treba pokrenuti 2_proba.exe i već bi se trebala pokazati privremena naslovnica udžbenika s uputama za korištenje...
Probao sam i s onim resources.qrc što mi je @gagiD poslao. Ista stvar - njegov programčić na ovom laptopu radi na svim diskovima i na bilo kojem mjesu u stablu foldera, ali na drugom računalu neće...

Re: [C++ / Qt] Besplatni udžbenici

22 srp 2015, 14:21

Dignuo sam Win7 i ovo je rezultat kad pokrenem .exe

slika

Re: [C++ / Qt] Besplatni udžbenici

22 srp 2015, 16:33

Da... to je to. Nema sličica.
Tri sata istraživanja zbog gluposti. Dakle...
Treba mu qjpeg4.dll. Okej, ništa čudno. Trebaju mu i drugi .dll-ovi, pa kod pokretanja u release folderu uredno kaže da se ne može pokrenuti, jer nema tog i tog .dll-a.
Osim ovog!
Tu ne kaže da mu išta fali, nego se pokrene iz svih mogućih foldera i diskova. Onda skužim da ima neki .dll koji ima veze s jpegima, nađem ga i kopiram u release folder - kao što je i red i kao što sam sve dosadašnje kopirao.
Ali, ne lezi vraže...
Ne može u release folder, već mora imati subfolder imageformats - e tek tu ako mu stavim gjpeg4.dll, tek onda radi. A svo to vrijeme se na mom laptopu pravi grbav - kao sve je u redu i program ti radi...
Vrlo glupo napravljeno. Ako ti treba neki .dll, nemoj mi se pokretati u release dok ne dobiješ taj .dll. I točka.
Evo link za .dll u odgovarajućem folderu - zip treba raspakirati u release - tamo gdje je i .exe...

http://podrucna-skola-jamarice.kuhinje- ... ormats.zip

@bertone
Zahvaljujem...
Odgovori