TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Moderador: Moderadores
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Olá Fábio, dê uma olhada no arquivo TESTBROW.PRG que está na pasta \contrib\hbqt\tests.
Abraços,
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- binho_fasa
- Usuário Nível 2

- Mensagens: 93
- Registrado em: 06 Jul 2004 12:53
- Localização: Brazil
- Contato:
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Obrigado pelas dicas.
A QT é fantastica, mas exige estudo das opções, principalmente das mais avançadas. Acredito que o Futuro do Harbour passe por ela...
Aproveitando a mensagem, alguém sabe dizer se é possível usar a HbQT para produzir aplicações para o O.S. Symbian? A QT é a "linguagem" oficial para desenvolvimento de soluções para o Symbian.
[]´s
Fabio Souza
A QT é fantastica, mas exige estudo das opções, principalmente das mais avançadas. Acredito que o Futuro do Harbour passe por ela...
Aproveitando a mensagem, alguém sabe dizer se é possível usar a HbQT para produzir aplicações para o O.S. Symbian? A QT é a "linguagem" oficial para desenvolvimento de soluções para o Symbian.
[]´s
Fabio Souza
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Olá
Até onde eu sei ainda foi feito um teste oficial, mas o a ideia é que possa ser usada no Symbian sim.
Até onde eu sei ainda foi feito um teste oficial, mas o a ideia é que possa ser usada no Symbian sim.
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Olá pessoal,
Alguém conseguiu fazer rodar no linux
A demoqt.prg rodou normal, ai desenhei uma janela e fui usar o exemplo desse post e não funcionou, veja o erro abaixo.
Alguém conseguiu fazer rodar no linux
A demoqt.prg rodou normal, ai desenhei uma janela e fui usar o exemplo desse post e não funcionou, veja o erro abaixo.
Código: Selecionar todos
hbmk2 pacientes.prg TFormUI.prg -rebuild
hbmk2: Processing configuration: /usr/local/bin/hbmk.cfg
hbmk2: Compiling Harbour sources...
Harbour 2.0.0 (Rev. 13372)
Copyright (c) 1999-2010, http://www.harbour-project.org/
Compiling 'pacientes.prg'...
Lines 14, Functions/Procedures 1
Generating C source output to '.hbmk/linux/gcc/pacientes.c'... Done.
Compiling 'TFormUI.prg'...
Lines 3173, Functions/Procedures 5
Generating C source output to '.hbmk/linux/gcc/TFormUI.c'... Done.
hbmk2: Compiling...
hbmk2: Linking... pacientes
.hbmk/linux/gcc/TFormUI.o:(.data+0x148): undefined reference to `HB_FUN_QFILE'
.hbmk/linux/gcc/TFormUI.o:(.data+0x168): undefined reference to `HB_FUN_QUILOADER'
.hbmk/linux/gcc/TFormUI.o:(.data+0x198): undefined reference to `HB_FUN_QDIALOG'
.hbmk/linux/gcc/TFormUI.o:(.data+0x238): undefined reference to `HB_FUN_QT_FINDCHILD'
.hbmk/linux/gcc/TFormUI.o:(.data+0x2b8): undefined reference to `HB_FUN_QT_CONNECT_SIGNAL'
collect2: ld returned 1 exit status
hbmk2: Error: Running linker. 1
gcc .hbmk/linux/gcc/pacientes.o .hbmk/linux/gcc/TFormUI.o -Wl,--start-group -lhbcplr -lhbdebug -lgpm -lharbour -Wl,--end-group -opacientes -L/usr/lib/harbour
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Olá,
Olha eu recompilei o Harbour aqui, e pelo que ví mudou toda a estrutura de libs da hbqt. Nem tive tempo ainda de ver o que de fato está diferente.
De qualquer forma, você nem sequer linkou as libs da qt pelo hbmk2. Procure usar os arquivos hbm e hbc da pasta hbqt do contrib que deve resolver. Veja este post logo acima: viewtopic.php?f=43&t=11165#p63524
O exemplo original do post foi compilado em Linux.
Abraços.
Olha eu recompilei o Harbour aqui, e pelo que ví mudou toda a estrutura de libs da hbqt. Nem tive tempo ainda de ver o que de fato está diferente.
De qualquer forma, você nem sequer linkou as libs da qt pelo hbmk2. Procure usar os arquivos hbm e hbc da pasta hbqt do contrib que deve resolver. Veja este post logo acima: viewtopic.php?f=43&t=11165#p63524
O exemplo original do post foi compilado em Linux.
Abraços.
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Valeu Stanis Luksys,
Compilou certinho, na verdade estou fazendo uns testes com qt-designer, fiz um form simples compilei e ai deu a seguinte mensagem ao rodar.
ao rodar da isso...
Se souber o que é...
Compilou certinho, na verdade estou fazendo uns testes com qt-designer, fiz um form simples compilei e ai deu a seguinte mensagem ao rodar.
ao rodar da isso...
Código: Selecionar todos
QPixmap: Must construct a QApplication before a QPaintDevice
Abortado
Se souber o que é...
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Então...
Você está instanciando a QApplication() numa var pública ou estática igual eu passei lá na primeira postagem? Deve ser isso o problema.
Seguindo esta linha., seu prg principal deve ter basicamente esta estrutura:
Tenta e ve aí se funciona...
Você está instanciando a QApplication() numa var pública ou estática igual eu passei lá na primeira postagem? Deve ser isso o problema.
Seguindo esta linha., seu prg principal deve ter basicamente esta estrutura:
Código: Selecionar todos
STATIC qApp
PROCEDURE MAIN()
qApp := QApplication()
// AQUI VAI TODO O PROGRAMA
qApp:exec()
qApp:quit()
RETURNStanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
OPa valeu Stanis,
funcionou tudo certinho, só não consigo conectar os sinais...
tentei assim
oFormUi:evento( "oFormUi:bntSalvar", "clicked()", {|| MsgInfo("Clicou no botão salvar") } )
oFormUi:evento( "bntSalvar", "clicked()", {|| MsgInfo("Clicou no botão salvar") } )
Qt_Connect_Signal( "bntSalvar", "clicked()", {|| MsgInfo("Clicou no botão salvar") } )
Nenhum dos métodos funcionou....
Tem que fazer algo no designer
ou é só criar o botão mesmo ?? eu criei o botão e coloquei o nome dele bntSalvar
Obrigado.
funcionou tudo certinho, só não consigo conectar os sinais...
tentei assim
oFormUi:evento( "oFormUi:bntSalvar", "clicked()", {|| MsgInfo("Clicou no botão salvar") } )
oFormUi:evento( "bntSalvar", "clicked()", {|| MsgInfo("Clicou no botão salvar") } )
Qt_Connect_Signal( "bntSalvar", "clicked()", {|| MsgInfo("Clicou no botão salvar") } )
Nenhum dos métodos funcionou....
Tem que fazer algo no designer
Obrigado.
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Opa, tente sem as aspas, algo assim:
Mas precisa criar a função msgInfo também.
Aliás, aguarde até hoje de noite que coloco aqui a classe já aprimorada, pois esta que está publicada neste topico foi apenas um primeiro teste. Agora já está mais completinha, inclusive com algumas adaptações pra versão mais recente da HBQT, que já conta com muito mais objetos.
Agora deixa eu te dizer... Neste mesmo fórum eu coloquei uma função pra previsão do tempo, e estava fazendo uns testes com a HBQT e coloquei a imagem da previsão da climatempo no cantinho direito da janela do programa, além de relógio analógico e calendário... Ficou show de bola, autênticos widgets! Essas coisas sempre incrementam o sistema... rs
Abraços!
Código: Selecionar todos
oFormUi:evento( oFormUi:bntSalvar, "clicked()", {|| MsgInfo("Clicou no botão salvar") } )Aliás, aguarde até hoje de noite que coloco aqui a classe já aprimorada, pois esta que está publicada neste topico foi apenas um primeiro teste. Agora já está mais completinha, inclusive com algumas adaptações pra versão mais recente da HBQT, que já conta com muito mais objetos.
Agora deixa eu te dizer... Neste mesmo fórum eu coloquei uma função pra previsão do tempo, e estava fazendo uns testes com a HBQT e coloquei a imagem da previsão da climatempo no cantinho direito da janela do programa, além de relógio analógico e calendário... Ficou show de bola, autênticos widgets! Essas coisas sempre incrementam o sistema... rs
Abraços!
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
fabianocsilva
- Usuário Nível 1

- Mensagens: 6
- Registrado em: 11 Nov 2010 21:50
- Localização: Santa Maria - RS
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Ola Stanis!
Parabéns pelo Tutorial!!
Conseguiu compilar os testes, tudo funcionando, mas ainda não consegui conectar ao botão. Se puderes colocar um exemplo de conexão com botão agradeço.
Abraços.
Parabéns pelo Tutorial!!
Conseguiu compilar os testes, tudo funcionando, mas ainda não consegui conectar ao botão. Se puderes colocar um exemplo de conexão com botão agradeço.
Abraços.
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Opa,
No momento, acho que a melhor forma de conectar os sinais seria assim:
Eu estou usando assim.
Abraços
No momento, acho que a melhor forma de conectar os sinais seria assim:
Código: Selecionar todos
oFormUI:btnSalvar:Connect("clicked()", {|| SuaFuncao() } )Abraços
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
fabianocsilva
- Usuário Nível 1

- Mensagens: 6
- Registrado em: 11 Nov 2010 21:50
- Localização: Santa Maria - RS
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Ola Pessoal!
Abaixo vai um exemplo que eu montei para exercitar a HBQT, conectando um botão, agora falta um exemplo com a QT-Designer, Chegamos lá.
Abraços!
Abaixo vai um exemplo que eu montei para exercitar a HBQT, conectando um botão, agora falta um exemplo com a QT-Designer, Chegamos lá.
Abraços!
Código: Selecionar todos
#include "hbqt.ch"
STATIC qApp
REQUEST HB_QT
INIT PROCEDURE Qt_Start()
qApp := QApplication():new()
RETURN
EXIT PROCEDURE Qt_End()
qApp:quit()
RETURN
PROCEDURE Main()
LOCAL oMinhaJanela, oBtn
oMinhaJanela := QMainWindow():new()
oMinhaJanela:show()
oMinhaJanela:setWindowTitle( "Teste Harbour-Qt" )
oMinhaJanela:setWindowIcon( "test" )
oMinhaJanela:resize( 900, 500 )
oMinhaJanela:setCentralWidget(QWidget(oMinhaJanela))
oBtn := QPushButton():new(oMinhaJanela)
oBtn:setText( "Clique")
oBtn:move( 30,240 )
oBtn:resize( 100,50 )
oBtn:show()
Qt_Connect_Signal( oBtn, "clicked()", {|| MsgInfo( "Botão Clicado")} )
qApp:exec()
xReleaseMemory( { oBtn, oMinhaJanela } )
RETURN
STATIC FUNCTION MsgInfo( cMsg )
LOCAL oBox
oBox:= QMessageBox():new()
oBox:setInformativeText( cMsg )
oBox:setWindowTitle( "Informação!" )
oBox:exec()
oBox := NIL
HB_GCALL( .T.)
RETURN Nil
FUNCTION xReleaseMemory( aObj )
LOCAL i
FOR i := 1 TO len( aObj )
IF hb_isObject( aObj[ i ] )
aObj[ i ] := NIL
ELSEIF hb_isArray( aObj[ i ] )
xReleaseMemory( aObj[ i ] )
ENDIF
NEXT
RETURN nil-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Olá,
Qual versão do Harbour você está usando? Qual versão da QT? Windows ou Linux?
Eu acabei de colocar um exemplo acima do seu que funciona perfeitamente usando a QtDesigner com a TFormUi. Acontece que mudaram um monte de coisas na hbqt. tem função que nem existe mais ou mudou de nome! Essa função Qt_Connect_Signal() que você usou é uma que sumiu do mapa na última versão.
Alem disso a classe QUiLoader parece não funcionar no WIndows 7 de jeito nenhum, só no Linux..
Abraços!
Qual versão do Harbour você está usando? Qual versão da QT? Windows ou Linux?
Eu acabei de colocar um exemplo acima do seu que funciona perfeitamente usando a QtDesigner com a TFormUi. Acontece que mudaram um monte de coisas na hbqt. tem função que nem existe mais ou mudou de nome! Essa função Qt_Connect_Signal() que você usou é uma que sumiu do mapa na última versão.
Alem disso a classe QUiLoader parece não funcionar no WIndows 7 de jeito nenhum, só no Linux..
Abraços!
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
fabianocsilva
- Usuário Nível 1

- Mensagens: 6
- Registrado em: 11 Nov 2010 21:50
- Localização: Santa Maria - RS
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Ola!
Estou usando a hbqt da versão do harbour 2.0 com Ubuntu 10.04, vou fazer assim, vou compilar a ultima versão desenvolvida da hbqt e usar o teu exemplo, usando a TFormUI.
Abraços.
Estou usando a hbqt da versão do harbour 2.0 com Ubuntu 10.04, vou fazer assim, vou compilar a ultima versão desenvolvida da hbqt e usar o teu exemplo, usando a TFormUI.
Abraços.
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Re: TUTORIAL: Harbour com QT-Designer. Uma combinação perfeita!
Olá,
Acabo de fazer o upload de um bom exemplo de uso da Qt-Designer + hbqt + TFormUi, daqui 15 minutos, vou jogar lá a versão para Linux, que foi onde originalmente eu desenvolvi.
Vê lá:
http://sites.google.com/site/hblibs/exe ... e-com-hbqt
Abraços.
Acabo de fazer o upload de um bom exemplo de uso da Qt-Designer + hbqt + TFormUi, daqui 15 minutos, vou jogar lá a versão para Linux, que foi onde originalmente eu desenvolvi.
Vê lá:
http://sites.google.com/site/hblibs/exe ... e-com-hbqt
Abraços.
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.