Clipper On Line • Ver Tópico - long press key qt

long press key qt

Projeto Harbour QT - HbQt, HbXBP e HbIDE

Moderador: Moderadores

 

long press key qt

Mensagempor MARCELOG » 30 Set 2016 15:42

"Isturdia" (lá em MG é 'outro dia'), estava precisando verificar a situação de longo pressionamento de teclas para um aplicativo.
Como não encontrei nada pronto e/ou similar na internet, fui testando opções e situações até encontrar algo que funcionasse.
A rotina ficou conforme abaixo, tendo sido inicialmente produzida para funcionar com um qtreewidget.
Todavia, deve funcionar com qualquer qwidget.
Vou postar aqui para que outros possam ter acesso, inclusive pelos mecanismos de busca.
Espero ter ajudado.

MarceloG

Example ...

x:=qtreeWidget()
...

__OBJADDDATA(x,'long_press') // cria data

x:long_press:=0

x:CONNECT(QEvent_KeyPress,{|o|LONGPRESSKEY(o,x)}) // sinal tecla pressionada
x:CONNECT(QEvent_KeyRelease,{|o|LONGPRESSKEY(o,x)}) // sinal tecla "despressionada"

//============================================================================

PROCEDURE LONGPRESSKEY(o,x)

LOCAL aKey

aKey:={Qt_Key_Return,Qt_Key_Enter} // teclas a serem monitoras - no caso ENTER

IF ASCAN(aKey,o:KEY()) # 0

IF o:TYPE() == QEvent_KeyPress

IF !o:ISAUTOREPEAT() // primeiro pressionamento

x:long_press:=SECONDS()

ENDIF

ELSEIF o:TYPE() == QEvent_KeyRelease

IF !o:ISAUTOREPEAT() // primeiro despressionamento

IF (SECONDS() - x:long_press) > 1.2 //aumente ou diminua o tempo

// ... function/ procedure a ser executada em face do evento

ENDIF

x:long_press:=SECONDS()

ENDIF

ENDIF

ENDIF

RETURN
Água mole em pedra dura tanto bate que até espirra!
Avatar de usuário

MARCELOG
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 546
Data de registro: 15 Mar 2005 16:54
Cidade/Estado: Divinópolis/MG
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

long press key qt

Mensagempor wmanesco » 14 Nov 2016 07:32

Muito bacana, valeu!
William Manesco
Harbour 3.x | Fivewin | BCC | MySQL (TDolphin) | HBQT | HBIDE | Atom
wmanesco
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 116
Data de registro: 09 Set 2016 13:18
Cidade/Estado: ITAJAI - SC
Curtiu: 13 vezes
Mens.Curtidas: 4 vezes




Retornar para QtContribs - HBQT

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro