Stranica: 4/9.
Re: Besplatni udžbenici
Postano: 24 lip 2015, 17:55
Postao/la gagiD
Pa daj kod od MainWindowa

Re: Besplatni udžbenici
Postano: 24 lip 2015, 20:28
Postao/la maliodpalube
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
Re: Besplatni udžbenici
Postano: 24 lip 2015, 21:03
Postao/la iweb
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.
Re: Besplatni udžbenici
Postano: 24 lip 2015, 21:34
Postao/la gagiD
@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.
Re: Besplatni udžbenici
Postano: 25 lip 2015, 11:04
Postao/la maliodpalube
@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.
Re: Besplatni udžbenici
Postano: 25 lip 2015, 12:37
Postao/la gagiD
@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

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.
Re: Besplatni udžbenici
Postano: 25 lip 2015, 23:13
Postao/la maliodpalube
gagiD je napisao/la:@KrajButton
Vec sam dosadan, ali ajmo jos jednom

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...

Re: Besplatni udžbenici
Postano: 26 lip 2015, 02:48
Postao/la gagiD
@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

Re: [C++ / Qt] Besplatni udžbenici
Postano: 29 lip 2015, 21:09
Postao/la maliodpalube
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....
Re: [C++ / Qt] Besplatni udžbenici
Postano: 30 lip 2015, 16:11
Postao/la maliodpalube
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.