Página 4 de 4

Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 14 Nov 2010 12:43
por fabianocsilva
Ola Stanis!

Muito bom o exemplo, compilei e rodei está 100%, agora vou estudar ele para começar a aplicar as minhas necessidade.

Abraços.

Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 14 Nov 2010 23:59
por Stanis Luksys
Opa,
fabianocsilva escreveu:Muito bom o exemplo, compilei e rodei está 100%, agora vou estudar ele para começar a aplicar as minhas necessidade.
Ficou bem legal né... Mas deixa eu te falar, eu estava revendo aqui e quando eu fiz este tutorial eu tinha usado a QT 6.1 com o Harbour 2.1. Agora estive testando com as versões 7.1 da qt e Harbour corujão e de fato ficou bem melhor convertendo os forms .UI em prg como o clord falou há algum tempo.

Apesar de o uso da classe TFormUi ter ficado totalmente funcional, não estou recomendando seu uso, vale mais como exemplo. Refiz este mesmo programa agregando agora a conversão de UI-PRG e a geração de arquivos de recursos e ficou bem melhor.

Vou disponibilizar para download lá também, acho que você vai preferir.

Uma última observação quanto a este programa em específico é que se você tiver usando o compiz-fusion como gerenciador de janelas, precisa fazer umas alterações em suas configurações pro plugin do flash player funcionar...

Abraços!

Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 15 Nov 2010 14:25
por Stanis Luksys
Opa,

Atualizei lá no site o exemplo e agora não usa mais a TFormUi, sendo que os forms desenhados na Qt-Designer são automaticamente convertidos para prg. Adicionei também o arquivo de recursos.

Ficou bem legal, não precisa mais enviar o form nem as imagens pro usuário.

http://sites.google.com/site/hblibs/exe ... e-com-hbqt

Abraços!

Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 15 Nov 2010 18:02
por fabianocsilva
Ola Stanis!

Não estou conseguindo compilar a ultima versão do teu exemplo
aparece os seguintes erros em negrito:


hbmk2: plugin: Error: Intermediate file (/tmp/hXc0MY) is not an .uic file.
hbmk2: Harbour: Compilando módulos...
Harbour 2.1.0beta2 (Rev. 15824)
Copyright (c) 1999-2010, http://harbour-project.org/
Compiling 'youtube.prg'...
Lines 877, Functions/Procedures 10
Generating C source output to '.hbmk/linux/gcc/youtube.c'... Done.
Compiling 'util.prg'...
Lines 924, Functions/Procedures 2
Generating C source output to '.hbmk/linux/gcc/util.c'... Done.
Compiling '.hbmk/linux/gcc/rcc_res.prg'...
Lines 930, Functions/Procedures 1
Generating C source output to '.hbmk/linux/gcc/rcc_res.c'... Done.
Cannot open .hbmk/linux/gcc/uic_Main.prg, assumed external

No code generated.
hbmk2: Erro: Executando o compilador Harbour (interno): 1
('/usr/local/bin/harbour)' -n2 youtube.prg util.prg .hbmk/linux/gcc/rcc_res.prg .hbmk/linux/gcc/uic_Main.prg -w3 -es2 -o.hbmk/linux/gcc/ -i/usr/local/include/harbour -i/ico/fabiano/ft/harbour-project/trunk/harbour/contrib/hbqt/qtcore -i/ico/fabiano/ft/harbour-project/trunk/harbour/contrib/hbqt -i/ico/fabiano/ft/harbour-project/trunk/harbour/contrib/hbqt/qtgui -i/ico/fabiano/ft/harbour-project/trunk/harbour/contrib/hbqt/qtnetwork -i/ico/fabiano/ft/harbour-project/trunk/harbour/contrib/hbqt/qtuitools -i/ico/fabiano/ft/harbour-project/trunk/harbour/contrib/hbtip

Se souber da solução me avise.

Abraços

Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 15 Nov 2010 18:47
por Stanis Luksys
Opa,

Primeiro, faça novamente o download, pois alterei algumas coisas.

Em seguida, verifique se dentro no arquivo youtube.hbp estão os caminhos corretos para os respectivos HBC de cada lib. Além disso altere o hbqt.hbc para incluir a qtwebkit, aliás descomente tudo que tiver comentado lá, provavelmente está comentado o uitools, e aí da pau na conversão. Veja se você tem hbqtuitools compilada!

Para compilar, utilize o comando:

Código: Selecionar todos

hbmk2 youtube.hbp
Teoricamente, assim deveria funfar. Se o erro persistir, recompile a versão do SVN ou a versão corujão do Harbour, que no Linux é bem mais tranquilo que no WIndows.

Procure baixar o harbour para /usr/src e instalar em /usr.

Desta forma ele seguirá o padrão:

/usr/bin -> binários
/usr/src/harbour -> código
/usr/lib/harbour -> libs
/usr/include/harbour -> cabeçalhos
etc

Após compilação e intalação, retire qualquer variável de ambiente referente ao Harbour, ele não precisará de nada disso e pode até mesmo atrapalhar.

Abraços.

Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 15 Nov 2010 20:59
por fabianocsilva
Ola Stanis!

Recompilei o Harbour do trunk e funcionou, valeu a dica.

Abraços.

TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 25 Jun 2011 11:03
por chrissoares
Pessoal,

Estou apanhando muito para conseguir fazer o meu programa utilizar um arquivo .ui. Vi, pelo exemplo do Stanis, que é criado um .prg a partir do arquivo .ui, mas eu tentei seguir o exemplo e não consegui.

Abaixo estão: meu PRG, script de compilação HBP e o retorno da compilação.

Teste.prg

Código: Selecionar todos

#include "hbclass.ch"
procedure Main()
	local oApp
	local oDialogo, oUi, oArq
	local cArq := "teste.ui"

	oApp	:= qApplication():new()
	if File(cArq)
		oArq := QFile():new(cArq)
		if oArq:open(1)
			oUi:= QUiLoader():new()
			oDialogo := QDialog():configure(oUi:load(oArq))
			oArq:Close()
		endif
		
	endif
	oDialogo:show()
	
	oApp:Exec()
	
	oApp:Quit()

return
Teste.hbp

Código: Selecionar todos

-w3 -es0
-oTeste.exe
-gui

c:\hb21\contrib\hbqt\hbqt.hbc

teste.prg 

teste.ui
Compilação:

Código: Selecionar todos

hbmk2 teste.hbp

Harbour 2.1.0rc2 (Rev. 16901)
Copyright (c) 1999-2011, http://harbour-project.org/
Compiling 'teste.prg'...
Lines 89, Functions/Procedures 1
Generating C source output to 'C:\DOCUME~1\CHRIST~1.WSO\CONFIG~1\Temp\hbmk_64hua
y.dir\teste.c'... Done.
Compiling 'C:\DOCUME~1\CHRIST~1.WSO\CONFIG~1\Temp\hbmk_64huay.dir\uic_teste.prg'
...
Lines 2392, Functions/Procedures 1
Generating C source output to 'C:\DOCUME~1\CHRIST~1.WSO\CONFIG~1\Temp\hbmk_64hua
y.dir\uic_teste.c'... Done.
C:/DOCUME~1/CHRIST~1.WSO/CONFIG~1/Temp/hbmk_64huay.dir/teste.o:teste.c:(.data+0x
88): undefined reference to `HB_FUN_QUILOADER'
collect2: ld returned 1 exit status
hbmk2: Erro: Executando linkeditor. 1
gcc.exe C:/DOCUME~1/CHRIST~1.WSO/CONFIG~1/Temp/hbmk_64huay.dir/teste.o C:/DOCUME
~1/CHRIST~1.WSO/CONFIG~1/Temp/hbmk_64huay.dir/uic_teste.o C:/DOCUME~1/CHRIST~1.W
SO/CONFIG~1/Temp/hbmk_64huay.dir/hbmk_m9dlso.o C:/DOCUME~1/CHRIST~1.WSO/CONFIG~1
/Temp/hbmk_64huay.dir/hbmk_fwf2bj.o    -mwindows -Wl,--start-group -lsupc++ -lhb
qtcore -lQtCore4 -lhbqtgui -lQtGui4 -lhbqtnetwork -lQtNetwork4 -lhbqtsql -lQtSql
4 -lgtqtc -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca
 -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx
 -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon
-lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -lwinspool -lcomctl3
2 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32
-lmsimg32 -lwininet -lhbpcre -lhbzlib   -Wl,--end-group -oTeste.exe  -Lc:/hb21/l
ib/win/mingw -Lc:/hb21/bin
Alguém pode dar alguma ajuda ?

Obrigado e abraços a todos!

TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 14 Jul 2011 00:06
por Stanis Luksys
Olá chrissoares,

Eu precisaria dar uma olhada no último código quer tá la no meu site, há algum tempo que não mexo então não me lembro, porém o erro mostra que não esta linkando a lib que tem a função quiloader.

Eu diria que provavelmente falta você compilar os fontes das bibliotecas da Qt que só vem na contrib e não vem na versão que baixa do site sem os fontes.

Se você ler a minha ultima mensagem antes dessa, poderá ver uma recomendação que talvez te sirva:
...Além disso altere o hbqt.hbc para incluir a qtwebkit, aliás descomente tudo que tiver comentado lá, provavelmente está comentado o uitools, e aí da pau na conversão. Veja se você tem hbqtuitools compilada!

TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 14 Jul 2011 09:58
por chrissoares
Obrigado Stanis,

Eu consegui descobrir como faz para que o Hbmk2 converta o arquivo .ui para .prg, bastando colocar este arquivo no script .hbp.
Agora a luta é com o campo QDateEdit, o qual eu não consigo colocar uma data via código de maneira alguma. Já tentei .setDate(ano, mes, dia) mas nem assim funcionou.

Obrigado pela atenção!
Vamos em frente descobrindo as manhas dessa QT!

Abraços a todos!

TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 28 Mai 2012 07:40
por Dr.Microso
Ao Cristhiano e a quem aqui chegar pelo mesmo motivo...
chrissoares, escreveu:"...Agora a luta é com o campo QDateEdit, o qual eu não consigo colocar uma data via código de maneira alguma. Já tentei .setDate(ano, mes, dia) mas nem assim funcionou."
É necessário empregar a classe QDate antes.
Note que no exemplo apenas uso o próprio Widget QDateEdit...

Código: Selecionar todos

#include "hbqtgui.ch"
*-----------------
procedure main
*-----------------
local oApp, oD1, oD2, data:=Date( )   //data atual                              

oApp:=QApplication( )
   oD1:=QDate(year(data), month(data), day(data))           
       oD2:=QDateEdit( )
       oD2:setDate( oD1 )

       oD2:show( )
oApp:exec( )

return
Imagem
Mas, se a intenção fosse inserir uma data específica, como exemplo: 13/08/1970

Código: Selecionar todos

#include "hbqtgui.ch"
*-----------------
procedure main
*-----------------
local oApp, oD1, oD2

oApp:=QApplication( )
   oD1:=QDate( 1970, 13, 08 )           
       oD2:=QDateEdit( )
       oD2:setDate( oD1 )

       oD2:show( )
oApp:exec( )

return
Imagem
Um abraço!

TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!

Enviado: 28 Mai 2012 12:51
por chrissoares
Dr.Microso escreveu:Ao Cristhiano e a quem aqui chegar pelo mesmo motivo...
Obrigado pela ajuda, acredito que outros além de mim vão se beneficiar dela.
Realmente são formas de fazer que não estamos acostumados, mas nada como ir dando os passos para se entender como ficar de pé.

Eu parei de estudar a QT infelizmente, pois a migração da aplicação iria levar muito tempo devido ao aprendizado com a QT. Mas vou brincando com ela na medida do possível. Acredito que seja uma ótima opção para se migrar os aplicativos de interface texto para gráfica, os recursos são ótimos, então quem tiver disponibilidade deve continuar desvendando os caminhos da QT.

Abraços e que Deus continue nos abençoando!