harbour + qtcontribs

Projeto Harbour QT - HbQt, HbXBP e HbIDE

Moderador: Moderadores

MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

harbour + qtcontribs

Mensagem por MARCELOG »

Baixe o harbour-nightly-win do endereço abaixo indicado e instale o mesmo na pasta c:\hb32 (padrão).
http://sourceforge.net/projects/harbour ... e/download

Baixe o pacote de contribuição que contém a hbqtgui do endereço abaixo indicado e instale o mesmo na pasta c:\hb32 (padrão).
http://sourceforge.net/projects/qtcontr ... t/download

Baixe o pacote qt-win-opensource para o compilador mingw do endereço abaixo indicado e instale o mesmo na pasta c:\qt\4.8.3 (padrão).
http://releases.qt-project.org/qt4/sour ... -mingw.exe

Ao instalar o pacote qt, na terceira tela vai ser solicitado o local do compilador, devendo ser indicado c:\hb32\comp\mingw.

Vai aparecer um erro relacionado a dll mas não se preocupe, confirme e aguarde a conclusão da instalação.

Feito isso, copie todas as dll´s que estão na pasta c:\hb32\bin para a pasta c:\hb32\addons\hbqt\tests.

Não precisa de todas, mas uma a mais não vai fazer diferença né!!!

Agora, abra uma janela do ms-dos digitando em <EXECUTAR> o comando "command" ou "cmd".

Vá para a pasta c:\hb32\addons\hbqt\tests.

Com o editor de texto, vamos criar um arquivo c.bat com o seguinte conteúdo:

set _path=%path%
set path=c:\hb32\bin;c:\hb32\comp\mingw\bin
set HB_WITH_QT=c:\qt\4.8.3\include
hbmk2 demoqt
demoqt
set path=%_path%

Execute o arquivo digitando "c" e teclando <ENTER>.

Se tudo estiver certo, o arquivo demoqt.exe é criado e executado.

Boa sorte.

MarceloG
Nota de Moderação:
por Pablo César: Mensagem editada para colocar a tag [ URL ]
Coloque sempre as URLs entre tags assim evita que o link seja abreviado.
Editado pela última vez por Toledo em 18 Out 2012 17:27, em um total de 3 vezes.
Água mole em pedra dura tanto bate que até espirra!
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

harbour + qtcontribs

Mensagem por carlos_dornelas »

Marcelo, acho que o pacote 3, referente a mingw, já vem normalmente incluído no harbour noturno.

Antonio Carlos
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

harbour + qtcontribs

Mensagem por carlos_dornelas »

Estorna! Acho que falei besteira! O que vem junto com o harbour é o compilador mingw.

Antonio Carlos
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

harbour + qtcontribs

Mensagem por carlos_dornelas »

Marcelo,

Voce jah conseguiu compilar formularios .UI no windows? Se sim, poderia postar um exemplo?

Grato

Antonio Carlos
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

harbour + qtcontribs

Mensagem por Imatech »

Basta incluir o SeuForm.ui no arquivo de projeto ( *.hbp )
M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

harbour + qtcontribs

Mensagem por carlos_dornelas »

Imatech,

Estou comandando assim: "hbmk2 sample.prg sample.ui", mas sempre dá erro:

Código: Selecionar todos

C:\hb32\addons\hbqt\tutorial>hbmk2 sample.prg sample.ui
hbmk2: Processando script local: hbmk.hbm
Harbour 3.2.0dev (Rev. 18349)
Copyright (c) 1999-2012, http://harbour-project.org/
Compiling 'sample.prg'...
Lines 17, Functions/Procedures 1
Generating C source output to 'C:\Users\AppData\Local\Temp\hbmk_p0vopd.
dir\sample.c'... Done.
Compiling 'C:\Users\AppData\Local\Temp\hbmk_p0vopd.dir\uic_sample.prg'.
..
Lines 3523, Functions/Procedures 4
Generating C source output to 'C:\Users\AppData\Local\Temp\hbmk_p0vopd.
dir\uic_sample.c'... Done.
C:/Users/f0884750/AppData/Local/Temp/hbmk_p0vopd.dir/sample.o:sample.c:(.data+0x
38): undefined reference to `HB_FUN_QUILOADER'
collect2: ld returned 1 exit status
hbmk2: Erro: Executando linkeditor. 1
gcc.exe C:/Users/f0884750/AppData/Local/Temp/hbmk_p0vopd.dir/sample.o C:/Users/f
0884750/AppData/Local/Temp/hbmk_p0vopd.dir/uic_sample.o C:/Users/f0884750/AppDat
a/Local/Temp/hbmk_p0vopd.dir/hbmk_8hkkuw.o C:/Users/f0884750/AppData/Local/Temp/
hbmk_p0vopd.dir/hbmk_d552ja.o    -mwindows -Wl,--start-group -lsupc++ -lhbqtcore
 -lQtCore4 -lhbqtgui -lQtGui4 -lhbqtnetwork -lQtNetwork4 -lgtqtc -lhbextern -lhb
debug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt
-lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrd
d -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -l
user32 -lgdi32 -ladvapi32 -lws2_32 -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -l
uuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbp
cre -lhbzlib   -Wl,--end-group -osample.exe  -Lc:/hb32/lib/win/mingw -Lc:/qt/4.8
.3/lib
Fiz a Instalação padrão como indicado pelo Marcelo. O formulário eu gerei pelo Designer, pois não encontrei o QT Creator no pacote.

Meu bat de configuração do ambiente é:

Código: Selecionar todos

set _path=%path%
set path=c:\hb32\bin;c:\hb32\comp\mingw\bin;c:\windows\system32;
set HB_WITH_QT=c:\qt\4.8.3\include
cd\
cd hb32
cd addons
cd hbqt
cd tutorial
O arquivo sample.prg

Código: Selecionar todos

PROCEDURE Main()

   LOCAL oWnd, oUi, oFile

   oFile := QFile( "sample.UI" )
   oFile:open( 1 )

   oUi := QUiLoader()
   oWnd := oUi:load( oFile )
   oFile:close()

   oWnd:show()
   QApplication():exec()

   RETURN
O arquivo sample.ui

Código: Selecionar todos

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Form</class>
 <widget class="QWidget" name="Form">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>854</width>
    <height>514</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Form</string>
  </property>
  <layout class="QGridLayout" name="gridLayout">
   <item row="0" column="0">
    <layout class="QVBoxLayout" name="verticalLayout">
     <item>
      <widget class="QLabel" name="label">
       <property name="palette">
        <palette>
         <active>
          <colorrole role="Text">
           <brush brushstyle="SolidPattern">
            <color alpha="255">
             <red>255</red>
             <green>85</green>
             <blue>127</blue>
            </color>
           </brush>
          </colorrole>
         </active>
         <inactive>
          <colorrole role="Text">
           <brush brushstyle="SolidPattern">
            <color alpha="255">
             <red>255</red>
             <green>85</green>
             <blue>127</blue>
            </color>
           </brush>
          </colorrole>
         </inactive>
         <disabled>
          <colorrole role="Text">
           <brush brushstyle="SolidPattern">
            <color alpha="255">
             <red>120</red>
             <green>120</green>
             <blue>120</blue>
            </color>
           </brush>
          </colorrole>
         </disabled>
        </palette>
       </property>
       <property name="font">
        <font>
         <family>Aharoni</family>
         <pointsize>16</pointsize>
         <weight>75</weight>
         <bold>true</bold>
        </font>
       </property>
       <property name="frameShape">
        <enum>QFrame::Panel</enum>
       </property>
       <property name="frameShadow">
        <enum>QFrame::Raised</enum>
       </property>
       <property name="lineWidth">
        <number>3</number>
       </property>
       <property name="text">
        <string>Teste com formularios</string>
       </property>
       <property name="scaledContents">
        <bool>false</bool>
       </property>
       <property name="alignment">
        <set>Qt::AlignCenter</set>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QCalendarWidget" name="calendarWidget"/>
     </item>
     <item>
      <widget class="QPushButton" name="pushButton">
       <property name="text">
        <string>Botao 1</string>
       </property>
      </widget>
     </item>
    </layout>
   </item>
  </layout>
 </widget>
 <resources/>
 <connections>
  <connection>
   <sender>pushButton</sender>
   <signal>clicked()</signal>
   <receiver>pushButton</receiver>
   <slot>showFullScreen()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>179</x>
     <y>130</y>
    </hint>
    <hint type="destinationlabel">
     <x>188</x>
     <y>135</y>
    </hint>
   </hints>
  </connection>
 </connections>
</ui>
Utilizo o windows 7.

Onde estarei errando?

Antonio Carlos
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

harbour + qtcontribs

Mensagem por Imatech »

Olá !


Sem inclucir a lib: hqQT ( hbqt.hbc ) não vai mesmo...


Segue script para compilação ( .hbp ):

Código: Selecionar todos

#
# arquivo hbp
# compilar com hbmk2.exe meuprojeto.hbp
#

#
# Debug
# -b

#
# Flags do compilador
#
-w3
-es2
-kmo

#
# Diretivas para compilação incremental
#
-inc

#
# .obj ( temp ) files
#
-workdir=C:\hb32\Temp

#
# Console/Gui
# -std
# -gui

#
# Metodo de Compressão UPX
#
# -compr=def

#
# Pausa em caso de avisos na compilação
#
-pause

#
# Executar ao finalizar a compilação
#
# -run

#
# gt class
#
# -gtwin

#
# .hbc files ( esta é a melhor forma para se usar lib's addons/extras/contrib )
#
hbqt.hbc

#
#definimos o nome da aplicação
#
-oDemo.exe

#
# .prg files
#
sample.prg

#
# .ui Files
#
sample.ui

#
# .C Files
#

#
# .qrc Files
#

M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

harbour + qtcontribs

Mensagem por carlos_dornelas »

Imatech,

Grato pela sua ajuda, mas criei o arquivo "meuprojeto.hbp" e executei "hbmk2 meuprojeto.hbp" e novamente deu o erro:

Código: Selecionar todos

C:\hb32\addons\hbqt\tutorial>hbmk2 meuprojeto.hbp
hbmk2: Processando script local: hbmk.hbm
hbmk2: Linkando... Demo.exe
C:/hb32/Temp/sample.o:sample.c:(.data+0x38): undefined reference to `HB_FUN_QUIL
OADER'
collect2: ld returned 1 exit status
hbmk2: Erro: Executando linkeditor. 1
gcc.exe C:/hb32/Temp/sample.o C:/hb32/Temp/uic_sample.o C:/hb32/Temp/_hbmkaut_sa
mple.o C:/hb32/Temp/_hbmkcpp_sample.o    -mwindows -Wl,--start-group -lsupc++ -l
hbqtcore -lQtCore4 -lhbqtgui -lQtGui4 -lhbqtnetwork -lQtNetwork4 -lgtqtc -lhbext
ern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin
-lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfp
t -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lker
nel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -lwinspool -lcomctl32 -lcomdlg32 -lsh
ell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwinin
et -lhbpcre -lhbzlib   -Wl,--end-group -oDemo.exe  -Lc:/hb32/lib/win/mingw -Lc:/
qt/4.8.3/lib
Tecle algo para continuar...
C:\hb32\addons\hbqt\tutorial>
O arquivo hbqt.hbc tem o seguinte conteudo. Será que está certo as linhas comentadas?

Código: Selecionar todos

#
# $Id: hbqt.hbc 34 2012-10-13 21:57:41Z bedipritpal $
#

# ---------------------------------------------------------------
# Copyright 2010 Viktor Szakats (harbour syenar.net)
# See COPYING for licensing terms.
# ---------------------------------------------------------------

libs=hbqtcore.hbc
# libs=hbqtdesigner.hbc
libs=hbqtgui.hbc
libs=hbqtnetwork.hbc
#  libs=hbqtwebkit.hbc
# libs=hbqtsql.hbc
libs=gtqtc.hbc
Agradeço novamente pela ajuda.

Antonio Carlos
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

harbour + qtcontribs

Mensagem por Imatech »

Olá !


QUiLoader() foi removido da Lib hbQT a alguns meses...

Se esta treinando com os exemplos do Giovanni d'Maria, passe ao próximo exercicio...



Sucesso...
M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

harbour + qtcontribs

Mensagem por carlos_dornelas »

Mas entäo como vocë faz para ler os formulários?

Antonio Carlos
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

harbour + qtcontribs

Mensagem por Imatech »

Veja os exemplos em:

\HB??\addons\hbqt\tests

Nova codificação para seu exemplo:

Código: Selecionar todos

FUNCTION Main()
   LOCAL oUI 

  /* Load sample.ui */
   oUI := hbqtui_sample():new()
   oUI:create()
   oUI:oWidget:show()

   QApplication():exec()

   RETURN NIL
M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

harbour + qtcontribs

Mensagem por carlos_dornelas »

Ronaldo, grato pela tua paciência em me ajudar!

Agora compilou o meu sample.prg (usei "hbmk2 sample.prg sample.ui" e também com o arquivo .hbp "hbmk2 meuprojeto.hbp"), porém ao executar o sample.exe nada acontece! O que pode estar faltando ainda? (além da minha ignorância? rsrs)

Antonio Carlos
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

harbour + qtcontribs

Mensagem por Imatech »

Olá Antonio Carlos !

Agora que o código esta correto...

O empecilho é um bug a ser resolvido no próximo release da hbQT ( r.42 )

Enquanto isso, passe ao próximo exercicio 8-|

Em harbour, Compile sempre usando arquivos de projeto ( .hbp )
Exemplo:
"hbmk2 meuprojeto.hbp"
Sucesso...
M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

harbour + qtcontribs

Mensagem por carlos_dornelas »

Ronaldo, grato mais uma vez! Já fiz quase todos os exercícios! E a Qt me parece bastante promissora. Você sabe me informar se com a versão estável 3.0.0 ( http://sourceforge.net/projects/harbour ... urce=files ) do harbour, a hbqt está funcional?

Antonio Carlos
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

harbour + qtcontribs

Mensagem por Imatech »

Olá Antonio Carlos !

Em materia de programação visual ( harbour ), nada se compara a hbQT

Recomendo que "NÃO" utilize hbQT com harbour 3.0 ( Bugs existentes e metodos extintos )...

Utilize em produção e sem medo a versão 3.2 ( ou superior quando disponivel )
http://sourceforge.net/projects/harbour ... e/download

E tambem a última versão disponivel da hbQT:
http://sourceforge.net/projects/qtcontr ... urce=files

Formularios ( Telas ): minha preferência é criar tudo via código, sem uso do Designer...

Marinas Gui ( não uso )
http://www.marinas-gui.org/projects/mar ... as-gui.htm

Sucesso...
M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Responder