Usando o Kommander para criar GUIs

O Kommander é uma IDE para criação de interfaces para o KDE, com ele podemos criar interfaces para programas em modo texto ou mesmo criar um programa inteiro sem escrever um linha de código.

[ Hits: 45.864 ]

Por: Joao Garcia em 14/09/2004


Criando uma interface



Isso aí, agora você já está introduzido aos conceitos básicos do Kommander, mas ainda não acabou, pois até agora você só viu como se cria widgets e como alinhar e dimensionar esses widgets. Vamos ver como criar um programa básico, porém, um programa "de verdade".

Vou criar uma interface gráfica para o comando useradd, que serve para criar usuários no sistema.

Abro o Kommander e crio um novo Dialog, dentro dele vai um ButtonGroup (botão a direita do botão RadioButton) , que serve para agrupar os widgets dentro dele.


Agora vou adicionar os widgets começando pelo TextLabel, mas como não vai ter só um TextLabel, dou um duplo-clique sobre o botão TextLabel e clico em três lugares dentro do meu ButtonGroup.


Aperto F2 para o ponteiro do mouse voltar ao normal e mudo o texto de cada TextLabel para "User", "Password" e "Home" respectivamente.


Agora vou adicionar os LineEdit (botão com um "ab", o da direita). Serão três LineEdit, um abaixo de cada TextLabel.


Agora vem a novidade, clicando com o botão direito do mouse sobre a primeira LineEdit e escolho "Edit Text Associations" no menu.


Clicando no botão Widget Text eu informo ao Kommander que este widget vai armazenar qualquer coisa que o usuário digite na LineEdit.

Agora eu repito o processo para os outros LineEdit da seguinte forma:

No LineEdit abaixo do TextLabel "Password", defini o valor para "-p @widgetText", sem as aspas:


E para o último LineEdit, abaixo do "Home", defini o valor "-d @widgetText", sem aspas.

Agora vou adicionar um botão CloseButton e um ExecButton. No CloseButton editei o texto para "Close" e o ExecButton para "Create".


Agora eu clico com o botão direto no ExecButton e escolho "Edit Text Associations no menu". O valor do botão create vai ser uma união dos valores dos outros widgets mais o comando useradd:

useradd @LineEdit3 @LineEdit2 @LineEdit1


Como você pode notar, quando o usuário clica em "Create", o Kommander monta uma linha de comando com o programa useradd e a combinação dos valores dos outros widgets (os widgets com os nomes LineEdit1 LineEdit2 LineEdit3) da seguinte forma:

useradd -d valor_digitado_pelo_user_na_LineEdit3 -p
valor_digitado_pelo_user_na_LineEdit2
valor_digitado_pelo_user_na_LineEdit1

Que de uma forma prática seria algo como:

useradd -d /home/ustrucx -p 123456 ustrucx

Esse é o comando que o Kommander vai executar.

O resultado é um usuário chamado ustrucx, com o home em /home/ustrucx e com a senha 123456.

Agora dou os últimos retoques selecionando a janela Form1 e, no menu Properties defino um nome, useradd, no campo Caption. Agora com a janela ainda selecionada dou um Ctrl+G e faço o mesmo no ButtonGroup.


Para vê-lo funcionar, salve com nome useradd e, como root (tem que ser como root pois o comando useradd não pode ser usado por usuários normais), digite:

# kmdr-executor kuseradd.kmdr

No Konqueror você pode definir o kmdr-executor como programa padrão para abrir arquivos do tipo .kmdr da seguinte maneira, clique com o botão direito sobre o useradd.kmdr no Konqueror e vá em "Abrir com" e digite "kmdr-executor" e marque a opção "Lembrar da associação de aplicativo para esse arquivo".

Pronto, agora apenas dando um duplo-clique no useradd você abrirá o useradd.

João Garcia
Dúvidas, críticas, etc.
jgfcampos[nO SpaM]@yahoo.co.uk
ustrucx[nO SpaM]@tuxresources.org

Página anterior    

Páginas do artigo
   1. Introdução
   2. Criando uma interface
Outros artigos deste autor

Kommander & KDialog

Leitura recomendada

Taskwarrior, o Guerreiro das Tarefas - Gerenciar sua Lista TODO no Terminal

Monitorando Host via IPMI no Zabbix

Explorando o wget

Compilando e otimizando KDE 3.x

Compiz Fusion no Ubuntu

  
Comentários
[1] Comentário enviado por juliomortandela em 14/09/2004 - 15:33h

Simples mas bem interessante...

eu gostei...


Julio

[2] Comentário enviado por ustrucx em 14/09/2004 - 16:57h

Legal, qualquer dúvida falae que eu tento ajudar, comecei no kommander a pouco tempo mas gostei muito e resolvi mostrar pra galera como é simples :D

[3] Comentário enviado por Guns em 15/09/2004 - 12:40h

Eu instalarei esse programa no meu debian e vou fuçar qual quer coisa eu te falo...Vlw

[4] Comentário enviado por knowlink em 16/09/2004 - 13:57h

Para se ter uma idéia de até onde o kommander pode chegar, o klica-aki "Centro de controle do Kurumin" é feito todo em kommander e shellscript, o mesmo se diz do kurumin-emu (máquina PC virtual), o centro de controle do kalango e muitas outras ferramentas encontradas nessas duas distros

[5] Comentário enviado por ustrucx em 16/09/2004 - 23:42h

Por isso fiz esse micro tuto, pra incentiva o povo a cria coisa. To bolando um outro tudo que vai ser sobre interagir com shell-script e kdialog. Vai da pra fazer coisas ainda mais intereçantes ;)

[6] Comentário enviado por Bentux em 30/09/2004 - 18:15h

Cara, mal posso esperar a hora d vc postar outro tuto pra aprender mais como esta ferramenta funciona... :-)

[7] Comentário enviado por ustrucx em 30/09/2004 - 23:59h

E aí Bentux :)
Por falta de conhecimento meu em shell script :'(, esse próximo tuto vai ser até mais simples do que este :(, mas vai mostrar o básico da interação entre o Kommander e Kdialog e espero que de margens para que você mesmo possa pensar em como utilizar o que eu demonstro no tutorial.
Brigaduuuuu :D

[8] Comentário enviado por juarysantos em 12/10/2004 - 21:09h

Rapaz coloquei o nome de dos todos widgets em portugues. mas mantive LineEdit1, 2 e 3. sei que no botão criar o comando ficou assim: useradd @LineEdit3 @LineEdit2 @LineEdit1. só que quando executei como root: #kmdr-executor useradd-kmdr ele abri a Gui, e quando preencho os campos e clico em criar ele não funciona(pois não vi na pasta /home o usuario que digitei). qual é o problema?

Mas gostei muito do seu tu e vou tentar criar uma Gui para wget(só para testar).
Brigadooo...

[9] Comentário enviado por ustrucx em 12/10/2004 - 22:35h

Cara, se vc traduzio tudo, certifique-se que qdo vc for adicionar os nomes dos widgets no botao "Criar" esses widgets estejam no menu dropdown "Other Widgets" com os devidos nomes em portugues, eu nao costumo escrever o nome de widget, apenas seleciono ele no menu "Other Widgets", isso evita falhas na digitação. Se nao resolver pode me mandar o executável que eu tento achar o problema ;)

[10] Comentário enviado por ssaguiar em 03/12/2004 - 23:51h

Amigo:

Você poderia me informar como faço para ter o texto de um script escrever em um LineEdit do kommander?
Explico :

Fiz uma pequena interface gráfica para meu programa. Coloquei um ExecButton e um LineEdit.
No ExecButton, associei um script na sua propriedade de texto. Neste script, tem várias linhas do tipo:
echo "Iniciando o Sistema"
Eu gostaria de escrever este texto no LineEdit em lugar do console, para ter uma espécie de barra se status.

O kommander praticamente não tem documentação, porisso estou tentando obter ajuda com o pessoal que já conhece alguma coisa dele.

Obrigado por qualquer ajuda.

[11] Comentário enviado por SLothRP em 28/03/2005 - 17:17h

Tenho um Código feito em Python, chamado calcular.py , na qualele calcula um Numero X elevado a esse mesmo numero X , como faço pra colocar isso no kommander ? EX:
Digite Abaixo o NUmero desejado:
Campo para poder digitar o numero
Campo para mostrar a Resposta
Button Calcular
Button Close

Obrigado pela atençã ... esse é minha dúvida

[12] Comentário enviado por SlothRP em 30/03/2005 - 01:21h

Para entender melhor a minha dúvida , tirei uma screnshot ... espero que tenha melhorado..

http://agrorp.z6.com.br/modelo_raiz2.png

[13] Comentário enviado por lidyon em 24/03/2006 - 16:50h

Qual a diferença entre esse kommander e o Qt Designer??? Parecem tão iguais...

t++++++

[14] Comentário enviado por sombriks em 24/01/2007 - 03:33h

lidyon, QT Designer (até onde eu sei) é pra fazer as interfaces em C++ com o framework QT.

Ah! e seria legal ver o funcionamento da widget Tabela num possível "parte 2", :D

excelente artigo!

[15] Comentário enviado por edirlf em 23/07/2007 - 18:45h

Cara, sensacional seu artigo. Sério mesmo, pra mim está sendo e vai ser ainda muiiiiito útil. Parabéns mesmo.
Muito excelente, e simples de entender. Parabéns mesmo!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts