Jump to content

passagem idioma keypress


Iron_Cobra
 Share

Recommended Posts

Boa tarde pessoal,

estou com o seguinte problema:

tenho 3 bandeiras [pt]  [gb]  [fr]

e queria ao premir uma so tecla ex: 9

as bandeiras alternassem entre si, do género, a bandeira escolhida fica um pouquinho maior que as outras.

e consequentemente o idioma da minha aplicação muda conforme a bandeira escolhida.

Obrigado  😁

Link to comment
Share on other sites

tens alguma biblioteca que saibas?

primeiro tenss de estudar o basico (allegro)

podes aumentar imagens.

para fazer um sorteio de bandeiras utiliza rand() biblioteca stdlib

ou para tu escolheres as bandeiras presisas de trabalhar com o mouse(se quizeres) e tipo se o mouse tiver x<... y<...

mas 1 faz o que te disse(estuda allegro),que é o basico!

Link to comment
Share on other sites

não irás querer usar locales?

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

Boas,

"PIKAX", isso dos locales nao é para fazer a traduçao para varias linguas? penso que irei precisar disso mais para a frente...

"HappyHippyHippo", pra ja pensei em fazer um array com 3 posiçoes onde associo as 3 imagens das bandeiras, e depois tentar que sempre que primo a tecla 9 ele mostra cada bandeira. quando chegar á 3ª bandeira, volta para a 1ª e assim sucessivamente.

agora como é que vou fazer isto.. nao faço a minima mas vai ter de sair alguma coisa.

Obrigado mais uma vez.  😉

Link to comment
Share on other sites

Na definição da classe:

private
  QPixmap bandeiras[3];
  int indice_bandeiras;

No construtor :

bandeiras[0] = QPixmap(QString("...gb.png"));
bandeiras[1] = QPixmap(QString("...fr.png"));
bandeiras[2] = QPixmap(QString("...pt.png"));
indice_bandeiras = 0;
ui->En->setGeometry(0,350,40,40);

No evento :

ui->En->setPixmap(bandeiras[indice_bandeiras++]);
if (indice_bandeiras > 2) indice_bandeiras = 0;
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.