Sada je: 28 ruj 2020, 04:22.
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 daj kod od MainWindowa :D
Avatar
Postovi: 406
Postovi: 406
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 / #!
Pa isti je... samo umjesto Dialog ima MainWindow
Kod: Označi sve
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QVBoxLayout>
#include <QLabel>

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

    QVBoxLayout * const layout = new QVBoxLayout(ui->scrollAreaWidgetContents);
    for(int i=0; i!=100; ++i)
    {
      layout->addWidget(new QLabel(QString::number(i)));
    }

}

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

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


Evo i link sa svim fajlovima:
http://podrucna-skola-jamarice.kuhinje- ... roba_1.zip
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
Iskreno, mislim da bi ovo puno bolje zaživjelo da je web aplikacija, jer u tom slučaju se može vrtiti na svakom računalu (s novijim preglednikom i pristupom Internetu), svakom tabletu i svakom mobitelu, a nije ograničeno samo na desktop računala, može se prilagođavati raznim veličinama ekrana, i u konačnici, lakše je za održavati.
Avatar
Site Admin
Postovi: 4511
Site Admin
Postovi: 4511
Pridružen/a: 07 ožu 2009, 17:00
Podijelio/la zahvalu: 98 puta
Primio/la zahvalu: 187 puta
Spol: M
OS: w10, ubuntu, macos
@maliodpalube

Kod mene je ovaj error:
Kod: Označi sve
undefined reference to `MainWindow::on_pushButton_2_clicked()'


Izbrises on_pushButton_2_clicked() u mainwindow.h.
Avatar
Postovi: 406
Postovi: 406
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 / #!
@iweb
Već smo to raspravili - ima milijun razloga zbog kojih bi ovo trebala biti web aplikacija i tu se svi slažemo. Ali ima jedan zbog kojega to nije moguće i taj jedan uporno prevaguje: masovnija primjena na starim (doniranim) računalima kojima će, u najvećem broju slučajeva, jedina komunikacija s vanjskim svijetom biti - USB port. U svakom slučaju, zahvaljujem na ponuđenoj pomoći.

@gagiD
To je ostalo smeće od nekog probavanja. I dalje mi ta proba1 ne radi, no počeo sam sve ispočetka u nekom drugm folderu i - meni neobjašnjivo zbog čega - radi normalno. Ali...
Kad iz koda onom petljom

Kod: Označi sve
for(int i=0; i!=100; ++i)
    {
      layout->addWidget(new QLabel(QString::number(i)));
    }

napunim scrollArea s labelama, onda se pojavi scrollbar i radi kotačić na mišu. No, ako ostavim samo textbox koji ne stane cijeli u scrollArea, onda se ne može scrollat i nema scrollbar.
Sljdeći problem je button Kraj. Ako ga stavim izvan scrollArea, sve je okej. No ako ga ostavim unutar scrollArea, onda je aktivan samo po rubovima. Kad dovedem miša u sredinu buttona i pričekam sekundu, više ne pali click i ne događa se ništa. Čak i button promijeni boju, kao da ga i nisam nagazio mišem. Jako zbunjujuće..

Evo ovo stanje koje trenutno imam:
http://podrucna-skola-jamarice.kuhinje- ... proba2.zip

Ja bih direktno na formu stavio labelu sa slikom koja je višlja od monitora i onda bih to rado slcrollao. Na tu sliku će ići textboxovi za unos rezulata, a slika će biti stranica udžbenika.
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
@KrajButton
Prvo taj button ne treba da bude u ScrollAreai. Pitanje je treba li bilogdje da bude, jer vec postoji 'x' button za svaki prozor. Ko mene radi cleck event samo na desnom rubu, pa vjerovatno labeli prekriju lijevi dio i button ne dobija event.

Hm... interaktivna slika. Nije problem prikazat sliku ali interakcija se mora uraditi s input widgetima.


Vec sam dosadan, ali ajmo jos jednom :D Postoji li mogucnost da povezes sve te racunare u LAN tako da bi server trebao imati malo bolje performanse, a klijenti bi to mogli pristojno prikazivati. Nece im trebati vise resursa nego sto im treba za Qt applikaciju.
Avatar
Postovi: 406
Postovi: 406
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 / #!
gagiD je napisao/la:@KrajButton
Vec sam dosadan, ali ajmo jos jednom :D Postoji li mogucnost da povezes sve te racunare u LAN tako da bi server trebao imati malo bolje performanse, a klijenti bi to mogli pristojno prikazivati. Nece im trebati vise resursa nego sto im treba za Qt applikaciju.

Ma problem je već i deset produžnih kablova za deset računala, a kamoli još kojekave dogradnje i kablovinje. I još uvijek daleko najveći broj učionica nema internet (zaboravi Zagreb i veće gradove). A i kad imaju, onda je to neki wi-fi koji iz jedne učionice radi, ali iz onih pet na katu ima tako slab signal... sve u svemu, ja tražim što brže rješenje prilagođeno onome što je realno moguće u školama. Već sam negjde napisao - s čim imamo, s tim klimamo...
Dakle...
Nešto sam večeras na brzinu sklepao pa možeš skinuti na ovdje:
http://podrucna-skola-jamarice.kuhinje- ... proba2.zip
Sva pitanja su zakomentirana u samom kodu.

Ako sve ovo uspijem izgurati do kraja, doći ću u Kakanj i vodim te na ćevape... :)
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
@Slika
Najlakse(i ispravno) je napravit resource fajl i tu stavljat sve sto koristis(slike, video, zvukovi i sl.)

@Scroll_na_sliku
Fazon je u Layoutu, ako scrollAreaContentWidget nema layout onda ga QScrollArea ne zna resizeat(kao neko objasnjenje).

Ev, pa probaj - here

maliodpalube je napisao/la:Ako sve ovo uspijem izgurati do kraja, doći ću u Kakanj i vodim te na ćevape... :)

Neka projekt uspije, za cevape cemo lako ;)
Avatar
Postovi: 406
Postovi: 406
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 / #!
Slušam savjet kolege @gagiD-a.

Do sad sam složio nešto ovdje:

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

...pa ako još netko ima volju da mi malo pregleda taj kod. U samome kodu su u komentarima neke stvarčice koje me muče. GagiD mi savjetuje da koristim The Qt Resource System. Malo sam proučavao i ne sviđa mi se da sve vanjske dadotekice i sličice pakiram u .exe - ako sam dobro razumio. Naime, taj bi .exe onda morao biti ogroman, a svaka i najmanja promjena nekoga od tih fajlića tražila bi ponovno kompajliranje. Jesam li ja to dobro razumio?
Sljedeći problem je odluka o lineEdit kontrolama za unos odgovora učenika. Bit će ih između 10 i 60 po stranici (cca). Za svaki od njih će se iz fajlića učitavati nekih pedesetak parametara. Planiram dimenzionirati fixno polje [60 konrola x 60 parametara]. To nije puno, pa mi je s poljem fixne veličine jednostavnije raditi. Tim više što bi većina tih parametara (mogući točni odgovori) trebali biti globalnog karaktera, jer ću s njima operirati na više mjesta u programu.
Za sad mi je problem što ne znam napraviti polje lineEdit kontrola. Ono što se u VB zove control array - odnosno 60 lineEdita koji se svi jednako zovu i imaju integer indexe. Npr lineEdit odgovor[14]. To polje istih kontrola mi je nužno, jer bih tako najveći broj stvari rješavao u for petljama (koje su opet jednostavnije ako je for(i=1;i<uvijek_isti_broj;i++), nego ako je for(i=1;i<uvijek_neki_drugi_broj_o_kojem_onda_trebam_voditi_brigu; i++)).
Budući da to polje trenutno ne znam napraviti, ovaj primjer je složen s 5 fixnih lineEdita, koji se drukčije zovu... mislim da su odgovor_0, odgovor_1...
I da... da ne zaboravim... nakon pokretanja u gornji desni lineEdit s labelom STRANICA trenutno se može upisati 50, 51, 52. Parametara je trenutno 10 i samo se malo igram s njima - malo veće kućice, malo niže dolje....
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, riješio sam polje kontrola:

Kod: Označi sve
QLineEdit* polje_edita[5];
int i;

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

    polje_edita[0]=ui->odgovor_0;
    polje_edita[1]=ui->odgovor_1;
    polje_edita[2]=ui->odgovor_2;
    polje_edita[3]=ui->odgovor_3;
    polje_edita[4]=ui->odgovor_4;

    for(i=0;i<5;i++)
    { polje_edita[i]->hide();}

}


Sad je nastao drugi problem. Ovo ovako radi okej:
Kod: Označi sve
void MainWindow::on_lineEdit_3_returnPressed()
{
    QString polje_setupa[55];

    ui->label_slika->setPixmap("D:/prizna_qt/proba2/stranice_jpg/mat1_rb_str"+ui->lineEdit_3->text()+ QLatin1String(".jpg"));

    QFile datoteka_setup("D:/prizna_qt/proba2/stranice_setup/mat1_rb_str"+ui->lineEdit_3->text()+ QLatin1String("_set.txt"));

    //ovdje gore u gradnji stringa s imenima datoteka moraš staviti neke svoje staze

    if (datoteka_setup.open(QIODevice::ReadOnly))
    {
       QTextStream in(&datoteka_setup);

       for(i=0;i<56;i++)
       {
           polje_setupa[i] = in.readLine();
       }
       datoteka_setup.close();

       for(i=0;i<5;i++)
       {
        polje_edita[i]->setGeometry(polje_setupa[3+11*i].toInt(),polje_setupa[5+11*i].toInt(), polje_setupa[7+11*i].toInt(), polje_setupa[9+11*i].toInt());
        polje_edita[i]->show();
       }

   }
}


No, ako ovu deklaraciju
QString polje_setupa[55];
izvadim izvan void MainWindow::on_lineEdit_3_returnPressed() i postavim na vrh koda, da bi polje bilo globalno i dostupno iz svih dijelova koda, program se kompajlira bez grešaka, pokrene i onda vrti... vrti... vrti... i na kraju stane bez ikakvog objašnjenja. Ono što me još više zbunjuje, kompajlira se bez greške čak i ako jednu deklaraciju ostavim u proceduri, a jednu identičnu stavim na vrh kao globalnu. U čemu je problem. To bi mi polje svakako trebalo biti globalno i stringovi iz njega dostupni iz cijelog programa.
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 2 gostiju.