Ir para conteúdo

[Tutorial] Mudar miniwidow


Deadpool

Posts Recomendados

Eu sei arrumar KKKK..

Ricardo, na otui, nos margin-top do ID account e password.. E também das checkbox(aquelas opção de marca lra memorizar senha e conectar automaticamente ao abrir cliente)

Link para o comentário
Compartilhar em outros sites

Bom , aqui consegui configurar a posição dos botões é lacunas de boa .. Mas agora ta com aquele error de Duplicar o Window , e quando aperto no OK , não vai TT.TT

Vocês podem observar que nas Prints , a cor do Window troca , mas é normal :3 , foi so uns edit que fiz , pra ficar trocando as cores ...

VnIAdMe.jpgNMhjDLs.png

Editado por Daskyn
Link para o comentário
Compartilhar em outros sites

Pra tirar essa duplicação é só dar um destroy na janela dentro da função terminate

Quanto ao ancoramento e margem é muito simples. Voce tem as opções de

 

anchors.[orientação]: widget.[orientação]

Exemplos:

anchors.top: parent.top

- ancora o topo do widget no topo do parent mais proximo acima

(lembrando que a identação de dois espaços no otui define a herança)

 

anchors.left: buttonBlabla.left

- ancora a esquerda do widget na esquerda do botão com nome 'buttonBlabla'

 

anchors.right: prev.left

- ancora a direita do widget na esquerda do widget que foi declarado no otui previamente

MainWindow
 
  Button
    id: buttonBlabla
    anchors.top: parent.top
  Button
    id: new
    anchors.top: parent.top
    anchors.left: prev.right

anchors.bottom: next.top

- ancora o fundo do widget no topo do widget declarado a seguir

MainWindow
 
  Button
    id: buttonBlabla
    anchors.top: parent.top
    anchors.left: next.right
  Button
    id: new
    anchors.top: parent.top

Existe ainda o horizontalCenter, que é o mesmo usado nos slots

 

E quanto a margin é basicamente margin-[orientação]: valor

Voce so pode usar margem se houver ancoramento, se voce usou anchors.top tu vai ter que usar margin-top e assim por diante

Se voce ancora em sentidos antagonicos ele vai fazer um auto ajuste de acordo com o ancoramento, ou seja, se boto anchors.top e anchors.bottom num mesmo widget, ele vai ignorar o height, e vai seguir apenas o ancoramento

O valor pode ser positivo ou negativo, não há restrições quanto a isso, porem se voce exceder os limites do widget pai ele pode simplesmente nao aparecer mais na tela, ele deixa de ser visivel

E uma coisa importantissima, nunca ancore um widget em outro simultaneamente:

Label
  id: first
  anchors.top: next.top
 
Label
  id: second
  anchors.bottom: prev.bottom

Isso vai causar um erro, obviamente, porque o ancoramento de um depende do ancoramento do outro e vice versa

 

Bom, acho que é so isso, não to lembrado de mais nada

Editado por dalvorsn
Link para o comentário
Compartilhar em outros sites

Pra tirar essa duplicação é só dar um destroy na janela dentro da função terminate

Quanto ao ancoramento e margem é muito simples. Voce tem as opções de

 

anchors.[orientação]: widget.[orientação]

Exemplos:

anchors.top: parent.top

- ancora o topo do widget no topo do parent mais proximo acima

(lembrando que a identação de dois espaços no otui define a herança)

 

anchors.left: buttonBlabla.left

- ancora a esquerda do widget na esquerda do botão com nome 'buttonBlabla'

 

anchors.right: prev.left

- ancora a direita do widget na esquerda do widget que foi declarado no otui previamente

MainWindow
 
  Button
    id: buttonBlabla
    anchors.top: parent.top
  Button
    id: new
    anchors.top: parent.top
    anchors.left: prev.right

anchors.bottom: next.top

- ancora o fundo do widget no topo do widget declarado a seguir

MainWindow
 
  Button
    id: buttonBlabla
    anchors.top: parent.top
    anchors.left: next.right
  Button
    id: new
    anchors.top: parent.top

Existe ainda o horizontalCenter, que é o mesmo usado nos slots

 

E quanto a margin é basicamente margin-[orientação]: valor

Voce so pode usar margem se houver ancoramento, se voce usou anchors.top tu vai ter que usar margin-top e assim por diante

Se voce ancora em sentidos antagonicos ele vai fazer um auto ajuste de acordo com o ancoramento, ou seja, se boto anchors.top e anchors.bottom num mesmo widget, ele vai ignorar o height, e vai seguir apenas o ancoramento

O valor pode ser positivo ou negativo, não há restrições quanto a isso, porem se voce exceder os limites do widget pai ele pode simplesmente nao aparecer mais na tela, ele deixa de ser visivel

E uma coisa importantissima, nunca ancore um widget em outro simultaneamente:

Label
  id: first
  anchors.top: next.top
 
Label
  id: second
  anchors.bottom: prev.bottom

Isso vai causar um erro, obviamente, porque o ancoramento de um depende do ancoramento do outro e vice versa

 

Bom, acho que é so isso, não to lembrado de mais nada

Dalvorsn poderia me ajudar com isso ? n to conseguindo achar o canto que move os nomes que está marcado no print que vou deixar, olha a script ai

 

EnterGameWindow < MainWindow
  size: 330 312
  image-source: enter.png

EnterGameButton < Button
  width: 64

ServerListButton < UIButton
  size: 17 17
  image-source: /images/topbuttons/minimap
  image-color: #ffffffff

  $hover !disabled:
    image-color: #ffffff99

  $pressed:
    image-color: #ffffff44

  $disabled:
    image-color: #ffffff55

EnterGameWindow
  id: enterGame
  @onEnter: EnterGame.doLogin()

  MenuLabel
    !text: tr('Account name')
    anchors.left: parent.left
    anchors.top: parent.top
    text-auto-resize: true

  PasswordTextEdit
    id: accountNameTextEdit
    anchors.left: parent.left
    anchors.right: parent.right
    anchors.top: prev.bottom
    margin-top: 70

  MenuLabel
    !text: tr('Password')
    anchors.left: prev.left
    anchors.top: prev.bottom
    margin-top: 8
    text-auto-resize: true

  PasswordTextEdit
    id: accountPasswordTextEdit
    anchors.left: parent.left
    anchors.right: parent.right
    anchors.top: prev.bottom
    margin-top: 2

  MenuLabel
    id: serverLabel
    !text: tr('Server')
    anchors.left: prev.left
    anchors.top: prev.bottom
    margin-top: 8
    text-auto-resize: true

  ServerListButton
    id: serverListButton
    !tooltip: tr('Server list')
    anchors.right: parent.right
    anchors.top: serverLabel.bottom
    margin-top: 3
    @onClick: ServerList.show()

  TextEdit
    id: serverHostTextEdit
    !tooltip: tr('Make sure that your client uses\nthe correct game client version')
    anchors.left: parent.left
    anchors.right: serverListButton.left
    anchors.top: serverLabel.bottom
    margin-top: 2
    margin-right: 4

  MenuLabel
    id: clientLabel
    !text: tr('Client Version')
    anchors.left: parent.left
    anchors.top: serverHostTextEdit.bottom
    text-auto-resize: true
    margin-right: 10
    margin-top: 8

  ComboBox
    id: clientComboBox
    anchors.left: parent.left
    anchors.right: parent.horizontalCenter
    anchors.top: clientLabel.bottom
    margin-top: 2
    margin-right: 3
    width: 90

  MenuLabel
    id: portLabel
    !text: tr('Port')
    anchors.left: serverPortTextEdit.left
    anchors.top: serverHostTextEdit.bottom
    margin-top: 8
    text-auto-resize: true

  TextEdit
    id: serverPortTextEdit
    text: 7171
    anchors.right: parent.right
    anchors.left: parent.horizontalCenter
    anchors.top: clientComboBox.top
    margin-left: 3

  CheckBox
    id: rememberPasswordBox
    !text: tr('Remember password')
    !tooltip: tr('Remember account and password when starts client')
    anchors.left: parent.left
    anchors.right: parent.right
    anchors.top: prev.bottom
    margin-top: 10
    @onCheckChange: self:getParent():getChildById('autoLoginBox'):setEnabled(self:isChecked())

  CheckBox
    id: autoLoginBox
    enabled: false
    !text: tr('Auto login')
    !tooltip: tr('Open charlist automatically when starting client')
    anchors.left: parent.left
    anchors.right: parent.right
    anchors.top: prev.bottom
    margin-top: 2

  EnterGameButton
    !text: tr('Ok')
    anchors.right: parent.right
    anchors.bottom: parent.bottom
    @onClick: EnterGame.doLogin()

  Label
    id: serverInfoLabel
    font: verdana-11px-rounded
    anchors.bottom: parent.bottom
    anchors.left: parent.left
    color: green
    text-auto-resize: true

 

Print

post-381687-0-89319600-1445190711_thumb.png

Link para o comentário
Compartilhar em outros sites

Pra tirar essa duplicação é só dar um destroy na janela dentro da função terminate

Quanto ao ancoramento e margem é muito simples. Voce tem as opções de

 

anchors.[orientação]: widget.[orientação]

Exemplos:

anchors.top: parent.top

- ancora o topo do widget no topo do parent mais proximo acima

(lembrando que a identação de dois espaços no otui define a herança)

 

anchors.left: buttonBlabla.left

- ancora a esquerda do widget na esquerda do botão com nome 'buttonBlabla'

 

anchors.right: prev.left

- ancora a direita do widget na esquerda do widget que foi declarado no otui previamente

MainWindow
 
  Button
    id: buttonBlabla
    anchors.top: parent.top
  Button
    id: new
    anchors.top: parent.top
    anchors.left: prev.right

anchors.bottom: next.top

- ancora o fundo do widget no topo do widget declarado a seguir

MainWindow
 
  Button
    id: buttonBlabla
    anchors.top: parent.top
    anchors.left: next.right
  Button
    id: new
    anchors.top: parent.top

Existe ainda o horizontalCenter, que é o mesmo usado nos slots

 

E quanto a margin é basicamente margin-[orientação]: valor

Voce so pode usar margem se houver ancoramento, se voce usou anchors.top tu vai ter que usar margin-top e assim por diante

Se voce ancora em sentidos antagonicos ele vai fazer um auto ajuste de acordo com o ancoramento, ou seja, se boto anchors.top e anchors.bottom num mesmo widget, ele vai ignorar o height, e vai seguir apenas o ancoramento

O valor pode ser positivo ou negativo, não há restrições quanto a isso, porem se voce exceder os limites do widget pai ele pode simplesmente nao aparecer mais na tela, ele deixa de ser visivel

E uma coisa importantissima, nunca ancore um widget em outro simultaneamente:

Label
  id: first
  anchors.top: next.top
 
Label
  id: second
  anchors.bottom: prev.bottom

Isso vai causar um erro, obviamente, porque o ancoramento de um depende do ancoramento do outro e vice versa

 

Bom, acho que é so isso, não to lembrado de mais nada

 

Onde posso dar esse Destroy? E onde fica esse Terminal? Não sei mecher em OTClient

Link para o comentário
Compartilhar em outros sites

 

 

MenuLabel !text: tr('Account name') anchors.left: parent.left anchors.top: parent.top text-auto-resize: true PasswordTextEdit id: accountNameTextEdit anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 70

 

Tem que ajustar ai, ta vendo que a caixa de account ta ancorada no prev e ta com margem de 70? tu vai passar esse margin-top pro MenuLabel e vai tirar o do PasswordTextEdit

 

 

 

 

EnterGameButton !text: tr('Ok') anchors.right: parent.right anchors.bottom: parent.bottom @onClick: EnterGame.doLogin()

 

E o botao tu bota um margin-right jogando ele pro centro, joga metade do tamanho do window mais ou menos, vai ajustando ate ficar centralizado


 

Onde posso dar esse Destroy? E onde fica esse Terminal? Não sei mecher em OTClient

 

Na função terminate(), ela é a função que executa pra dar o unload no modulo

Link para o comentário
Compartilhar em outros sites

 

Tem que ajustar ai, ta vendo que a caixa de account ta ancorada no prev e ta com margem de 70? tu vai passar esse margin-top pro MenuLabel e vai tirar o do PasswordTextEdit

 

 

 

 

 

E o botao tu bota um margin-right jogando ele pro centro, joga metade do tamanho do window mais ou menos, vai ajustando ate ficar centralizado

 

Na função terminate(), ela é a função que executa pra dar o unload no modulo

 

Se não for pedir demais , poderia me falar onde devo editar e como devo editar ? Sei que é no Terminate , mas não sei onde fica .. Em qual arquivo e etc , e como disse não tenho conhecimento algum em OTClient !

Link para o comentário
Compartilhar em outros sites

 

Se não for pedir demais , poderia me falar onde devo editar e como devo editar ? Sei que é no Terminate , mas não sei onde fica .. Em qual arquivo e etc , e como disse não tenho conhecimento algum em OTClient !

 

é no arquivo lua do modulo, é so dar um ctrl f em terminate que tu vai ver ele

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...