Pagina 1 di 1

Qt Designer...

Inviato: mer 5 lug 2006, 13:50
da Raistlin84
Volevo programmare un po' di GUI, e ho iniziato un po' a guardarmi Qt designer, è fatto molto bene. Ma mi sfuggono dei passaggi fondamentali. Ho imparato a fare delle GUI con Kommander, ma ovviamente sono assai limitate e necessitano che Kommander sia installato.
Mentre se le creassi con Qt sarebbere dei veri e propri programmi, da poter lanciare. Il fatto è che Qt genera un file .ui, ma da qui diventa tutto assai oscuro per me. Infatti non sò come arrivare dal file .ui al file che potrà esser eseguito.
Ho provato anche a lavoro dove c'è windows col designer Qt per win, ma anche lì solito problema.
Ho trovato una guida, ma è in spagnolo e capisco solo pochi passaggi. Perciò vorrei sapere come si può fare. . .

Inviato: mer 5 lug 2006, 14:24
da albatros
Sulla programmazione con qt sono stati avviati in contemporanea dei tutorial sia da Linux Pro che da Linux&C. .
Li ho letti entrambi, però, almeno per adesso, la documentazione presente sul sito della trolltech mi pare migliore...
Ci sono anche lì dei tutorial, gli ho solo dato un'occhiata, ma effettivamente mi sembrano fatti abbastanza bene...
Volevo comprare anche un libro, ma, leggendo le recensioni di amazon, mi pare di capire, se uno ha un minimo di basi di C++, che convenga più iniziare con i tutorial di trolltech per poi passare ad un testo avanzato...

Il mio è però un parere di inesperto, aspetta un po' che ti risponda chi già conosce bene le qt...

Inviato: mer 5 lug 2006, 14:24
da chrix
il file ui si può aprire con kuiviewer è integrato in kde, epoi se vuoi fare la GUI allora avrai solo la GUI, se invece vuoi realizzare un'interfaccia per un determinato programma, allora dovrai usare i slot e le connessioni !! leggiti la doc per mgg info.

Inviato: mer 5 lug 2006, 15:37
da Raistlin84
Sì, sì lo sò di Kuiviewer e anche delle cose su Linux&Co.
Ma io mettiamo voglia creare una gui semplicissima, con 2 o 3 bottoni, ad esempio clicko su un pulsante e mi chiude la finestra, su un altro e mi chiama un programma. ma questa non deve esser un semplice file che viene interpretato come succede con Kommander, ma un vero programma.
Il fato è che non capisco come crearlo dal file .ui!
Per ora ho fatto così creo prova.pro.
Poi creo il file Main Window prova.ui.
E poi il file main.cpp
Ho provato a dare qmake poi ma non và... mi date il link alla spiegazione, non tanto di come fare la Gui ma piuttosto come si ottiene il file da lanciare dal file .ui.
Grazie!

Inviato: mer 5 lug 2006, 15:55
da chrix

Inviato: mer 5 lug 2006, 19:16
da tgmx
se vai sull'help di qt-designer c'è una guida passo passo per creare un piccolo programma.

Io l'ho trovato molto utile.

Inviato: mer 5 lug 2006, 19:31
da Raistlin84
Scusate se son duro, ma io avrei fatto così:

bash-3.00# qmake -project untitled.ui

E mi crea il file untitled.pro

bash-3.00# qmake -makefile untitled.pro
Error processing project file: /root/Desktop/prova/untitled.pro

Invece dovrebbe crearmi il file da lanciare...almeno io sule guide ho trovato così...

Inviato: mer 5 lug 2006, 19:58
da chrix
#include <qapplication.h>
#include <qpushbutton.h>

int main( int argc, char **argv )
{

QApplication a( argc, argv );
QPushButton hello( "Hello world!", 0 );
hello.resize( 100, 30 );
a.setMainWidget( &hello );
hello.show();
return a.exec();

}

Save this code as a plain text file('hello.cpp'). Now let's compile this code by making a project file (.pro) as follows:

TEMPLATE = app
CONFIG += qt warn_on release
HEADERS =
SOURCES = hello.cpp
TARGET = hello

Let's save this file as 'hello.pro' in the same directory as that of our source file and continue with the generation of the Makefile.

[root@Linux mydirectory]# qmake -o Makefile hello.pro
Compile it using 'make'

[root@Linux mydirectory]# make


You are now ready to test your first 'Qt' Wonder. Provided you are in 'X', you can launch theprogram executable.

[root@Linux mydirectory]# ./hello

Inviato: gio 6 lug 2006, 8:23
da Raistlin84
Questo è quello che mi restituisce... :-(



qmake -o Makefile hello.pro

make

mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory `C:/Qt'
g++ -c -O2 -O2 -Wall -frtti -fexceptions -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_D
LL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
-I"C:/Qt/include/QtCore" -I"C:/Qt/include/QtGui" -I"C:/Qt/include" -I"C:/Qt/inc
lude/ActiveQt" -I"tmp\moc\release_shared" -I"." -I"mkspecs\win32-g++" -o tmp\obj
\release_shared\hello.o hello.cpp
hello.cpp: In function `int qMain(int, char**)':
hello.cpp:10: error: 'class QApplication' has no member named 'setMainWidget'
hello.cpp:14:3: warning: no newline at end of file
mingw32-make[1]: *** [tmp\obj\release_shared\hello.o] Error 1
mingw32-make[1]: Leaving directory `C:/Qt'
mingw32-make: *** [release-all] Error 2

Inviato: gio 6 lug 2006, 8:52
da Raistlin84
Io cercavo un programma come è il Delphi della Borland, che ti permette di creare applicazioni in maniera viasuale... :-(

Inviato: gio 6 lug 2006, 9:51
da Sari
Pultroppo io le QT non le so assolutamente usare, so pero usare le GTK abbastanza bene e su ProgForum (http://www.progforum.it) potrei darti delle dritte su quest'ultime aiutandoti a capire velocemente quello che a me è costato ore... giorni.. mesi :P. Ma per QT come dicevo nada, non so proprio nulla ;).

Comunque sulla scia di Delphi e VisualBasic c'e' Gambas (lo trovi pachetizzato qui' su slacky), ma non lo mai usato perchè ho imparato ad odiare VisualBasic. Di fatto però sembra un ottimo progetto ma devi conoscere il linguaggio basic.

Inviato: ven 7 lug 2006, 11:19
da Raistlin84
Allora forse ho fatto dei passi avanti...ma ancora non ci siamo...

Per ora riesco a fare questo:
1- Apro Qt designer e disegno la mia finestra.
2- Salvo il file.ui in una directory
3- Mi sposto nella directory e uso il comando qmake -project file.ui
4- Mi genera il file.pro
5- Uso il comando qmake -makefile file.pro
A questo punto però mi genera delle directory, release, debug, tmp, purtroppo vuote, e non penso vada bene, tuttavia non mi restituisce nessun errore.
6- Uso il comando make e mi resituisce errore:

F:\Qt\4.1.4\prova>make
mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `F:/Qt/4.1.4/prova'
f:\Qt\4.1.4\bin\uic.exe prova.ui -o ui_prova.h
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows -o "release\prova.exe" -
L"f:\Qt\4.1.4\lib" -L"f:\Qt\4.1.4\lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4
f:\Qt\4.1.4\lib/libqtmain.a(qtmain_win.o)(.text+0x26):qtmain_win.cpp: undefined
reference to `__gxx_personality_sj0'
f:\Qt\4.1.4\lib/libqtmain.a(qtmain_win.o)(.text+0x1f7):qtmain_win.cpp: undefined
reference to `qMain(int, char**)'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\prova.exe] Error 1
mingw32-make[1]: Leaving directory `F:/Qt/4.1.4/prova'
mingw32-make: *** [release] Error 2

Come avrete notato sono su windows, purtroppo a lavoro devo usare quello e nei tempi morti... :D :D :D :D

Inviato: ven 7 lug 2006, 11:47
da Raistlin84
Penso di aver trovato l'errore...
In pratica servono i file main.cpp e file.cpp Scritti in C++. Tuttavia lo strumento che cercavo mi serviva per creare delle semplici GUI sfruttando al massimo un po' di scripting come avvien con Kommander.
Non vedo perchè scrivere in C++ quando basterebbe una finestra con delle scritte e quando clicki sul tasto chiudi si chiude. Pensavo si potesse fare anche con questo programma senza dover star a scrivere codice...