Sada je: 19 tra 2024, 00:30.
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]
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.
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
@ČĆŠĐŽ
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?
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 / #!
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: Označi sve
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: Označi sve
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.
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
Da ne gnjavim samo @gagija... imam novi problem, pa možda netko drugi malo pomogne:

Kod: Označi sve
#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.
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
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...
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
Podijelio sam ti temu da ti u ovu ne zatrpamo savjetima o distribuciji ;)

Novu temu imaš ovdje.
[+ Prikaži] Klik
ThinkPad T14s Gen. 1
AMD Ryzen 7 PRO 4750U
16 GB DDR4-3200
Samsung SSD 970 EVO Plus 2TB
14" FHD IPS (Innolux N140HCG-GQ2)
WiFi Intel® Wi-Fi® 6 AX200
OS: Debian 6 Cinnamon
Slika: dio kolekcije

***

ZEN
"Charlie. What are you thinking?"
"I'm thinking about what I want and what I need."
"What do you want?"
"I want a peaceful soul."
"And what do you need?"
"I need a bigger gun."
Avatar
Site Admin
Postovi: 11347
Site Admin
Postovi: 11347
Pridružen/a: 01 kol 2012, 12:39
Podijelio/la zahvalu: 660 puta
Primio/la zahvalu: 1014 puta
Spol: M
OS: LinuxMint Cinnamon
@bertone
Zahvaljujem, ali nije to baš neka prava tema... zapravo, eno je - već gotova...

Nitko nema rješenje za moje dvodimenzionalno polje buttona?
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
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: Označi sve
   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...
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
Dignuo sam Win7 i ovo je rezultat kad pokrenem .exe

slika
[+ Prikaži] Klik
ThinkPad T14s Gen. 1
AMD Ryzen 7 PRO 4750U
16 GB DDR4-3200
Samsung SSD 970 EVO Plus 2TB
14" FHD IPS (Innolux N140HCG-GQ2)
WiFi Intel® Wi-Fi® 6 AX200
OS: Debian 6 Cinnamon
Slika: dio kolekcije

***

ZEN
"Charlie. What are you thinking?"
"I'm thinking about what I want and what I need."
"What do you want?"
"I want a peaceful soul."
"And what do you need?"
"I need a bigger gun."
Avatar
Site Admin
Postovi: 11347
Site Admin
Postovi: 11347
Pridružen/a: 01 kol 2012, 12:39
Podijelio/la zahvalu: 660 puta
Primio/la zahvalu: 1014 puta
Spol: M
OS: LinuxMint Cinnamon
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...
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 mreži
Trenutno korisnika/ca: / i 8 gostiju.