Aprenda interfaces gráficas do usuário em Python: PyQt5 | Hadi Youness | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Aprenda interfaces gráficas do usuário em Python: PyQt5

teacher avatar Hadi Youness, Computer Engineer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução

      2:54

    • 2.

      Requisitos

      1:39

    • 3.

      Versão pyQt5

      3:43

    • 4.

      3Data e hora

      8:35

    • 5.

      Botões

      7:33

    • 6.

      Layout

      14:25

    • 7.

      Layout de formas

      10:28

    • 8.

      Etiqueta

      6:06

    • 9.

      Edição em linha

      9:13

    • 10.

      Botão de rádio

      10:02

    • 11.

      Caixa

      7:30

    • 12.

      Caixa combinada

      5:55

    • 13.

      Caixa Spin

      5:00

    • 14.

      Controle deslizante

      13:36

    • 15.

      Barra de menu

      8:13

    • 16.

      Barra de ferramentas

      6:26

    • 17.

      Diálogo de entrada

      12:53

    • 18.

      Diálogo com fonte

      6:41

    • 19.

      Diálogo de arquivos

      13:11

    • 20.

      Table

      10:46

    • 21.

      Pilha

      10:50

    • 22.

      Divisor

      7:31

    • 23.

      Dock

      6:25

    • 24.

      Barra de rolagem

      5:51

    • 25.

      Barra de status

      7:55

    • 26.

      Calendário

      5:39

    • 27.

      Arrastar e soltar

      12:54

    • 28.

      Download do Qt Designer

      2:11

    • 29.

      Introdução ao Qt Designer

      5:34

    • 30.

      Caixa de widgets

      11:33

    • 31.

      Aplicativo no Qt Designer

      7:34

    • 32.

      Converter Ui para Python

      3:05

    • 33.

      Layout no Qt Designer

      7:58

    • 34.

      Edite ordens com tab

      4:16

    • 35.

      Como definir amigos

      3:03

    • 36.

      Edit slots e sinais

      5:53

    • 37.

      Introdução ao jogo com piados

      3:41

    • 38.

      Jogo de pies: criando aplicativos

      8:34

    • 39.

      Jogo de pies: adicionando jogadores

      9:22

    • 40.

      Jogo de pies: score e dates

      11:26

    • 41.

      Jogo com pie: botões de retenção e roll

      4:26

    • 42.

      Jogo de pie: role o botão de dice

      14:58

    • 43.

      Jogo com pie: a o jogo e botões vencedores

      14:14

    • 44.

      Projeto

      1:49

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

176

Estudantes

--

Projeto

Sobre este curso

Neste curso, você vai aprender sobre a interface de usuário gráfico mais famosa do python: python: PyQt5.

Vamos seguir o seguinte are

-Primeiro, vamos aprender sobre o widget básico do PyQt5 como o layouts como o layout, etiquet, botões, barras e muito mais.

-em segundo momento, vamos passar para alguns widgets e advanced como entrada, fonte e diálogo com arquivos, as pilhas, abas e separadores.

-Em seguida, vamos aprender sobre a ferramenta famosa o PyQt's Designer que vai permitir a criação de uma aplicação usando a ferramenta de arrast e solto. Vamos ter uma passo detalhada de todos os recursos desta ferramenta para ser capaz de criar uma aplicação sem problemas.

-Por fim, vamos ter uma lista de projetos que serão sempre atualizados. A lista de projetos contenha:

Jogo 1-dice: crie um jogo dice usando os a PyQt5 e aprenda a se conectar diferentes funções aos seus botões correspondentes. Além disso, você vai aprender a usar o CSS no PyQt5 para melhorar a experiência geral o usuário nos aplicativos de GUI.

Mais projetos serão adicionados em uma base regular.

Espero que você seja gostosa de o curso, e gostaria adicionada, com o dia qualquer a qualquer momento ao fazer sua jornada neste curso, e se você tiver alguma dúvida, preocupações ou feedback, vou ser feliz em ouvir ou to a isso!

Conheça seu professor

Teacher Profile Image

Hadi Youness

Computer Engineer

Professor

Hello, I'm Hadi. I am studying Computer Engineering at the Lebanese American University (LAU). I like to share my knowledge with everybody and I believe that teaching is a perfect way to understand anything since you must be well informed about something to be able to teach it in the simplest possible ways!

Visualizar o perfil completo

Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Olá e seja bem-vindo. Meu nome é unidades principais e isso será estruturado ao longo deste curso. Agora hoje vamos falar sobre uma das mais famosas interfaces gráficas do usuário Python, e ela é conhecida como Pi purificada. Então, temos cinco versões agora. E este é o quinto que vamos usar neste curso. E antes de começar, gostaria de lhe dar um pequeno esboço do que você deve esperar deste curso e de que maneiras ele melhorará seu conhecimento neste domínio. Então, antes de tudo, vamos começar com os widgets básicos que temos no Piketty cinco. E então vamos passar para o ativo avançado que vamos falar sobre a ferramenta de designer QT. E este é um dos passeios mais famosos que usa a técnica DAC e drop para criar os aplicativos. E, finalmente, vamos criar alguns projetos e aplicativos. O que aprendemos anteriormente. Agora, começando com os widgets básicos, vamos cobrir uma grande variedade deles, como botões, layout, rótulos, edição de linha e impostos, botões de edição de linha e impostos, pressionar, rádio e verificação. E temos muito mais que vamos cobrir. E depois disso, vamos passar para os avançados, como a caixa de combinação, a caixa de rotação, o controle deslizante, o menu e a barra de ferramentas. E temos a fonte de entrada e cinco diálogos. E depois disso, vamos falar sobre o sputter da pilha de guias e assim por diante. Então, ele terá muitos estágios mais avançados que vamos abordar. E depois disso, vamos falar sobre a ferramenta de designer QT. Vamos aprender a baixá-lo. E então teremos um passo a passo por todas as principais funções que vamos usar. É. Depois disso, vamos pegar os principais switches básicos e avançados que aprendemos anteriormente e aprenderemos como usá-los nessa ferramenta. Em seguida, vamos aprender como conectar botões com outros widgets dentro do banco com uma técnica de arrastar e soltar e simplesmente vincular entre os botões e widgets dentro do aplicativo. E, finalmente, vamos criar aplicativos de transporte usando essa ferramenta. E com isso dito, teremos duas maneiras principais criar nossos cinco aplicativos Piketty. O primeiro é com a escrita do código você mesmo e decidido que um é usando esta ferramenta de designer QT. E, geralmente, se você quiser algo que seja um pouco específico, você pode querer seguir a técnica de proteção. Agora vamos ter muitos projetos nos quais vamos trabalhar, e eu realmente não posso adicioná-los neste vídeo introdutório. Vamos ter uma seção específica. Vamos ver todos os projetos em que vamos trabalhar. E é isso basicamente, espero que você tenha gostado deste curso e veja você nos próximos vídeos. 2. Requisitos: Olá e seja bem-vindo. Então, neste vídeo, vamos passar pelos requisitos do curso. A primeira coisa que vamos fazer é baixar Python. Vamos entrar em downloads de barra python.org e, em seguida, pressionar em baixar Python 3, 10. Portanto, essa versão pode não ser o caso para você. Portanto, não importa, basta clicar e baixar qualquer versão existente em seu site. Acho que o que vamos fazer é verificar se o Python é um novo espaço de trabalho. O que vamos fazer é ir para o CMD. Então deixe-me entrar em cmd e apenas escrever Python. E como você pode ver, vamos ver o Python e a versão. Então minha versão é 3.8.10. Vou atualizá-lo para 3.10 agora. E o segundo requisito é baixar o IDE que vamos usar, que é o Visual Studio Code. Então, vamos para o pseudo-código Visual. E como você pode ver, você pode baixá-lo para o Windows aqui. Será Windows, Linux ou Mac. Depende da área de trabalho ou do espaço de trabalho trabalhando. E depois disso, quando tudo for baixado, você só pode entrar no Visual Studio, que é este. E como você pode ver, temos uma página de boas-vindas. Temos algumas atualizações e, em seguida, basta clicar nas extensões aqui. Como você pode ver depois de escrever Python, vamos conseguir que isso sugere instalá-lo e estamos prontos para iniciar nosso curso. Dito isso, este é o fim dos requisitos do vídeo. Vejo você no próximo. 3. Versão pyQt5: Olá novamente. Então, neste vídeo, vamos falar um pouco mais sobre Piketty cinco antes de entrar em codificação e outras coisas. Então, antes de tudo, Piketty five é um conjunto de associações Python para a estrutura de aplicativos QT cinco. Portanto, temos a biblioteca QT que é uma das mais poderosas bibliotecas GUI que temos agora. E, na verdade, este é o site oficial para as pupas Curie cinco, que é riverbank computing.com. Como podemos ver, eles desenvolveram por 35 Piketty para e Piketty física. E como você pode ver, você pode ir em frente e verificar todo o software e outras coisas que eles têm aqui. E o Piketty five é implementado como um conjunto de módulos Python. Ele tem mais de centenas de classes e milhares de funções e métodos. Portanto, ele pode ser executado no Windows, Linux e Mac, e na verdade é fácil de instalar. Então, antes de tudo, vamos em frente e instalá-lo. Então, o que vamos fazer é ir em frente ao nosso prompt de comando. E vou para a minha área de trabalho. Já criou uma pasta para isso, que é 555 aplicativos. E depois disso, o que você vai fazer é simplesmente escrever pip3 install pelo Q-Tip cinco. Agora, no meu caso, eu já o instalo, então vou obter requisitos. Estou decidido, satisfeito e indicando que o Piketty five está disponível na minha área de trabalho. E no seu caso, ele será baixado assim como estamos falando agora. E depois disso, o que você vai fazer é entrar no Visual Studio para iniciar a codificação real. Então, o que vamos fazer no início é verificar a versão que temos para o Piketty cinco. Então, como fazemos isso? Acabamos de entrar no Visual Studio. E o que vamos fazer é simplesmente importar algumas coisas que nos ajudarão a obter a versão da torta Cat5 que estamos usando. Então, vou conseguir do núcleo QT de cinco pontos Piketty. Vamos discutir como eles mais tarde, mas por enquanto só precisaremos saber o desvio. Então, versão cutie, SDR. E então vamos obter também da Piketty cinco pontos QT. Vamos importar a versão do QT da torta. E, claro, também STR. E responda a isso, deixe-me corrigir este. E como você pode ver, se formos em frente e imprimir a versão QT e depois seguirmos a versão do QT também. E deixe-me voltar para aqui e apenas escrever Python, nosso nome do arquivo. E como podemos ver, temos desvios que temos para QT e Piketty, que são 5.15.25.15.4. Este pode não ser o caso para você. Isso não importa. Só precisamos saber que ele está instalado e tudo está funcionando corretamente. Então é isso. Basicamente, esta é a nossa saída. E nos próximos vídeos, vamos começar com a implementação de algumas das funções e classes que temos e discutindo seus recursos. Então, com isso dito, este é o fim deste vídeo. Vejo você no próximo. 4. 3Data e hora: Olá e seja bem-vindo de volta. Neste vídeo, vamos passar por algumas das aulas importantes que você pode usar. E por 55. E eles são a data da fila, hora da fila e as classes diurnas AND Q. E essas classes são realmente responsáveis pela data e hora e fusão entre elas usando as funções, recursos, assim por diante e assim por diante. Então, em vez de começar com os aplicativos reais ou a construção real do Piketty cinco aplicativos que podemos criar. Pensei por que não começamos com algo simples e que podemos usar n pi 35, essa é a data e a hora. Então, antes de tudo, vamos começar importando essas classes. Então, vamos importá-los do núcleo QT de cinco pontos Piketty. E eu já criei um ponto de data e hora de classe py. Então, um roteiro. E a partir deste, vamos importar do núcleo QT de cinco pontos Piketty. Vamos importar três coisas. Isso é DQ, data, Q, desculpe, Q. E então também temos a data, hora da UTI. Tudo bem. Então agora temos tudo o que precisamos. Podemos simplesmente ir em frente e imprimi-los. Então, o que precisamos fazer é imprimir a data atual de hoje. Então, como fazemos isso? Vou simplesmente imprimi-lo aqui. Então, vou imprimir data da fila data atual do ponto. Como podemos ver. Agora, se eu for em frente e abrir o prompt de comando, o que vamos fazer é ir até a área de trabalho onde tenho a pasta pike ED50 apps. E então eu vou simplesmente executar o ponto de data e hora py. Agora, como podemos ver, conseguimos o que precisamos, que é a data atual, que é 2000 21, o mês é 11 e a hora é eu sinto muito, o dia é o primeiro de novembro. Então é isso basicamente, é assim que podemos usar ou obter a data atual. Agora também temos duas coisas que podemos usar. Dois métodos, ou seja, a data ISO ou a data longa local padrão. Então, vou usar os dois agora. Então, o que vou fazer é simplesmente imprimir a data atual do ponto da fila. E, em seguida, seguido pelo ToString. Vou fazer disso uma corda. E vou usar agora algo para formatar essa data atual. E, na verdade, é da classe QT. Então, para fazer isso, eu simplesmente vou também obter ou importar a classe QT aqui. E essa é a data ISO do ponto QT. Então, como você pode ver agora, se eu for em frente e, sinto muito, deixe-me escrevê-lo. Data. Agora, se seguirmos em frente e executarmos isso novamente, vamos obter 2021 11 indicando nossa data. Então, neste formato, e também temos o segundo formato, que é a data longa local. E para fazer isso, vamos simplesmente usar a data Q, a data atual, e vamos torná-la uma string. No entanto, vamos usar q t dot padrão, local, data longa. Agora, se seguirmos em frente e executá-lo novamente, vamos conseguir algo assim, que é segunda-feira, 1º de novembro de 2021. Portanto, essas são apenas maneiras de formatar nossa saída em uma data bonita. Então é isso. Basicamente, esta é a primeira coisa que vamos fazer. Isso é para imprimir a data. Agora vamos passar para algo mais sobre o tempo. Então deixe-me apenas comentar isso e agora vamos fazer é imprimir a hora atual. Então, como fazemos isso? Vou simplesmente atribuir a uma variável, a data da fila, o ponto de hora. Vou usar a função data e hora atual. Agora, se eu for em frente e imprimir desta vez, como o que vamos conseguir é algo assim, que é a data e a hora. Então, como podemos ver, 2021111. E esta é a hora real do dia, e depois minutos, segundos e assim por diante e assim por diante. Então, agora, se quisermos fazer com que pareça um pouco mais único ou um pouco mais legível. O que vamos fazer é simplesmente usar a hora atual. Então, também temos. Algo que é do módulo da classe do tempo. E simplesmente imprima a hora se não precisarmos da data. Agora, para fazer isso, vamos simplesmente executar isso novamente. Vamos comentar isso. E vamos executá-lo. Como podemos ver, só temos o tempo desta vez. Então é isso. Basicamente, este é o nosso tempo. Agora também temos algumas funções para talvez tornar isso mais legível. Então, como fazemos isso? Vamos simplesmente usar as mesmas funções ou os mesmos métodos que usamos da classe QT aqui. Então, vou ir em frente e imprimir o tempo ponto para String. E vou usar a data ISO de ponto q t. Agora, se seguirmos em frente e executarmos isso novamente, teremos o tempo exato que tem, esta é a hora, minuto e segundo. E se eu executá-lo novamente, verei que o segundo está mudando cada vez que executarmos esse código. Então é isso basicamente. Agora podemos fazer exatamente a mesma coisa para a variável de data e hora que criamos anteriormente aqui. E vamos ter o mesmo formato de antes. Agora, vamos passar para outra coisa que é o número de dias. Assim, podemos obter o número de dias em determinado mês. E só precisamos usar o método dias e meses. E também podemos obter o número de dias em um determinado ano usando o método days in year. Então, para fazer isso, deixe-me apenas comentar isso. E como você pode ver, podemos simplesmente escrever a hora aqui. Então, o que vamos fazer é imprimir quantos dias temos neste mês. Então, precisamos criar o mês ou a data. Então, vamos conseguir o mês em 2 mil a talvez 66. E como obter os dias e meses. Então, simplesmente usaríamos esse método e mês. Agora, se seguirmos em frente e executarmos isso, teremos 30, indicando que durante este mês tivemos 30 dias. Agora, se quisermos usar os dias no ano, simplesmente também podemos usar o mesmo formato exato. Então, vamos conseguir isso e vamos usar o método days in year. Agora, se seguirmos em frente e executarmos isso novamente, teremos 365 indicando que temos 165 dias no ano de 2002. Se mudarmos, talvez consigamos outra coisa. Nós o mudamos para mais uma vez. E como podemos ver, temos agora 366 dias e também temos 380 dias no mês de junho. Portanto, esse conjunto basicamente para as classes de data, hora e data e hora. Temos muitos métodos e funções que podem usar e obter datas, horários e trabalhar com todos esses tipos de coisas. Com isso dito, este é o fim deste vídeo. Vejo você no próximo. 5. Botões: Tudo bem, então passar para um novo tópico. Agora que criamos o primeiro aplicativo, podemos passar para algo um pouco mais complexo, que está criando botões usando o Piketty 5. Então, o que vamos fazer é importar o mesmo cutie, cutie goo e qty, que é que nós o impomemos antes. E agora vamos começar com nosso aplicativo. Então, como antes, vamos criar o aplicativo Q. E vamos aceitar, isso tem uma discussão. E então vamos criar nossa janela, que será desta vez o diálogo Q. E vamos explorá-lo em um minuto. No entanto, o que vamos fazer agora é criar botões. Então, antes disso, deixe-me mostrar nossa janela e, claro, rotular ou executar nosso aplicativo. Então, para fazer isso, vamos sair e antes disso vamos executar nosso aplicativo. Então agora, se eu for em frente e executar isso, vamos conseguir algo assim. Então, o que vamos adicionar agora são alguns botões. E para fazer isso, vamos precisar criar um botão de fila. E é muito simples, na verdade. Então, o que vamos fazer é criar o botão um. E vai ser um botão de fila. E estará na janela w. E, claro, se quisermos definir impostos neste botão, o que vamos fazer é simplesmente usar a função setText. E podemos dizer, por exemplo, nome. Agora, se eu for em frente e executar isso de novo, deixe-me fechar este 1 primeiro. Executá-lo. E como você pode ver, temos um botão e ele diz o nome como o rótulo desse botão. Então, agora o que vamos fazer é criar alguns botões indicando o nome, talvez apenas nomeie uma idade por enquanto. Então, o que vamos fazer agora é criar um botão para, e também será um botão de cubo. Esta janela. E botão 2, teremos o texto de h aqui. E agora acho que estamos bem. Então, se eu for em frente e fechar isso, executar isso de novo, vamos pegar algo como H aqui. No entanto, não estamos vendo o imposto porque isso é muito pequeno. Então, uma maneira de lidar com isso, talvez definimos a geometria para toda a janela. Então, w ponto setText define a geometria em 500 por 500. Então, temos todos os 500. Agora, se eu fechar isso e executá-lo novamente, vamos conseguir algo assim. No entanto, não podemos ver o nome. E isso ocorre porque o botão de idade está no topo do botão de nome. E uma maneira de lidar com isso é simplesmente mover a idade talvez para o fundo. E para fazer isso podemos simplesmente usar o botão para mover, talvez movê-lo um 100 por um 100. E agora, se eu for em frente e executar isso de novo, então deixe-me fechar esta corrida. E como você pode ver, temos nome e idade. Então, talvez só precisemos que eles estejam no mesmo eixo. Então, agora estamos bem. Se quisermos fazê-los talvez apenas no meio da página ou algo assim. Podemos simplesmente movê-lo um 100, mas também precisamos mover o botão um por 100 e 0. Então agora vamos, se eu for em frente e executá-lo mais uma vez, vamos conseguir algo assim, indicando o nome e a idade. Agora, nossos botões não fazem nada porque não criamos uma função para eles. Agora, quando temos um aplicativo Piketty cinco, todos esses botões são executados em eventos específicos. Portanto, este aplicativo apenas fundamenta quando o usuário pressiona alguma coisa. Agora, se eu pressionar o nome, ele deve fazer alguma coisa. E se eu pressionar H, ofs também deve fazer outra coisa. Então talvez se eu pressionar um nome, vamos imprimir aqui meu nome. E se eu pressionar a idade, também deve imprimir o H. E neste caso, uma maneira de fazer isso é simplesmente usar A função clicada que temos usando Piketty cinco e suas classes. E para fazer isso, precisamos mencionar que se este botão um ponto clicou. Então, se esse botão for clicado, vamos conectá-lo a uma função que vamos criar e disfunção, talvez simplesmente o nomeemos Botão 1, colete. Agora, como você pode ver, isso ainda não está definido. Relate variáveis indefinidas. Então isso significa que precisamos criar essa função. Podemos criá-lo pode estar aqui. Então, simplesmente precisamos criar uma função. Vamos chamá-lo de Botão 1, clicado. E essa função simplesmente imprimirá meu nome. Então é isso basicamente agora, se eu for em frente e executar isso novamente, o que vamos fazer, desculpe aqui precisamos apenas atualizar isso. E não está aparecendo porque precisamos colocá-lo antes deste. E é claro que agora, se eu for em frente e isso de novo, o que vamos conseguir é algo assim como antes. No entanto, agora, se eu pressionar o nome desse botão, veremos meu nome aqui. Então, cada vez que eu pressionar esse botão, ele criará um evento que gerará ou executará essa função que acabamos de criar aqui. Então, como fizemos isso? Simplesmente usamos a função select dentro do botão de fila. E serão apenas três diretores para essa função que criamos, e ela imprimirá nosso nome. Agora vamos fazer exatamente a mesma coisa para o Botão 2. Então botão para coletar. E vamos imprimir o H, que é basicamente, deixe-me escrever um aqui. E agora, se eu ir em frente para o ônibus e usar o colete que conecta, vamos conseguir algo assim. Então botão para clicar. Vá em frente e execute isso novamente. Vamos conseguir isso. Se eu pressionar um H, vamos pegar 21. Se eu pressionar um nome, vamos pegar meu nome. Então é isso. Basicamente, é assim que podemos criar botões e trabalhar com botões e bicicleta D5. Dito isso, este é o fim deste vídeo. Vejo você no próximo. 6. Layout: Olá e bem-vindo de volta. Então, neste vídeo, vamos falar um pouco sobre o posicionamento e a geometria das cinco aplicações Piketty. Portanto, sempre que criamos uma função ou um aplicativo usando o Piketty cinco, precisamos ter certeza de que nosso posicionamento está correto, especialmente que esse aplicativo possa ser executado em diferentes navegadores, monitores e desktops. Então, neste caso, deixe-me esclarecer. Usando um aplicativo que podemos criar e que está usando o aplicativo Q. Vamos criá-lo novamente. E então vamos abrir uma janela a partir do widget Q. E então o que vamos fazer é criar um simples botão de pressão. Então, vou nomeá-lo B, que será um botão de fila, e ele estará na janela w. E, claro, vamos definir o texto em primeiro lugar. E vamos movê-lo um pouco por 50 por 50. E acho que estamos bem. O que vamos fazer agora é simplesmente mostrar essa janela e, claro, executar o aplicativo. Então, com isso dito, se eu for em frente e executar isso, vou conseguir algo assim. Então, temos nosso botão que é o primeiro e esta é a nossa janela. Agora, observe que essa janela apareceu no meio da página. E se quisermos definir a geometria, por exemplo, ou para uma janela, usaremos a função de geometria SAT. E essa função terá quatro parâmetros. Nós o usamos anteriormente, mas agora vamos discutir isso. Portanto, os dois primeiros parâmetros são, na verdade, a posição n, o monitor ou onde nosso aplicativo será exibido. Então, se eu disser 10 por 10, ele aparecerá usando os eixos x e y aqui. Então este é o eixo x e o eixo y. Então ele vai aparecer ao virar desta esquina aqui. E, claro, precisamos continuar com os outros dois parâmetros. E eles são a altura e largura da nossa aplicação da nossa janela. Nesse caso, se eu indicar que preciso de um 100 por um 100. Agora, se eu fechar isso, vamos executá-lo novamente. Vamos conseguir algo assim. Então, como podemos ver, ele apareceu e o canto, e tem 200 por 200 como altura e largura. Agora, neste caso, se eu talvez movê-lo um pouco, 50 por 50, vamos conseguir algo assim. Como podemos ver, movemos isso um pouco para a direita e para a parte inferior da tela. Então é isso. Basicamente, esta é a função de geometria definida e como podemos usá-la. Agora, sempre que definimos essa posição como absoluta. Então, estamos definindo as alturas e a posição da nossa janela. Não é uma abordagem muito boa porque não é adequada para a janela sempre que precisamos redimensioná-la. Então, em outras palavras, se redimensionarmos uma janela, a posição dos widgets não muda. E isso é um problema. Agora, uma segunda coisa a levar em consideração é que temos dispositivos de exibição diferentes que podemos usar ou podemos usar este aplicativo. Então, neste caso, talvez a dimensão da tela, talvez diferente das dimensões de outras telas. E isso pode afetar nossa aplicação e são pais em geral. E, finalmente, sempre que queremos modificar ou melhorar nossa aplicação, é muito difícil escolher tamanhos diferentes, talvez posições diferentes neste caso. Então, todos estes levados em conta são considerados um problema muito grande sempre que usamos posicionamento absoluto, como fizemos aqui com a definição da geometria. Então, para melhorar isso, temos diferentes classes de layout para gerenciar a posição de nossos widgets dentro da tela, dentro de nossos contêineres. E eles talvez tenham mais vantagens do que essa classe de geometria lateral. E neste caso, garantirá que essa aparência que temos ocorra em todos os dispositivos de exibição, independentemente das resoluções. E, claro, sempre que redimensionarmos nosso widget, o aplicativo ou a janela serão redimensionados automaticamente. Então, vamos abordar uma lista de aulas que podem nos ajudar a fazê-lo. E o primeiro será a classe de layout de caixa de cubo. E isso nos ajudará organizando os widgets vertical e horizontalmente usando o caixa QV e o layout da caixa Q H. E vamos enfrentá-lo agora. Então deixe-me ir em frente e criar um novo script aqui. Então, vou nomeá-lo Q, caixa, layout dot py. Então, vamos começar com as imputações. Então, vou voltar ao Layout, copiar estes e colá-los aqui. Então, agora o que vamos fazer é começar com o aplicativo. Na verdade, deixe-me também copiar este daqui para economizar tempo. E agora o que vamos fazer é criar dois botões. Então, vou nomeá-lo Botão 1, e será q botão como de costume. Talvez sede e botão 2. 2 também será o botão q e será o segundo. Agora, o que vamos fazer é usar o layout da caixa QV. E o que vou criar como uma variável v para o vBox. E vou atribuí-lo ao layout Q vBox. E o que vamos fazer é adicionar os botões nessa caixa. Então, como fazemos isso? Simplesmente chamamos V e vamos usar a função Adicionar widget. Vamos adicionar o botão um. E então o que vamos fazer também é adicionar o segundo widget, que é o botão 2. Agora, se percebermos isso no ponto de layout py, sempre que definimos essa geometria definida em posições absolutas. Se formos em frente e talvez vamos mudar isso. Como você pode ver, o botão ainda estará na mesma posição. Seja o que for que façamos, ele estará na mesma posição. E isso não parece bom. E é basicamente um aplicativo de aparência horrível já que não podemos mudar a posição do botão, não importa o que façamos. Então, o que vamos fazer agora é criar essa caixa e adicionar alongamento a ela. Então, como fazemos isso? Precisamos usar o alongamento de adição. E se eu for em frente agora e executar isso, o que vamos conseguir é algo semelhante ao anterior. No entanto, adicionamos uma caixa extensível vazia entre esses dois botões. Então, se eu for em frente agora e definir o layout da janela que temos nesta caixa que criamos. Então, vamos usar a função de layout SAT. E vai ser este V. Claro que depois disso, o que vamos fazer é mostrar essa janela como antes e sair executando o aplicativo. Então é isso basicamente agora, se eu for em frente e executar dois pontos de layout de caixa py, vamos conseguir algo assim. No entanto, desta vez, se eu aumentar o tamanho desse aplicativo, os botões também serão aumentados. E como podemos ver, temos a diferença entre eles porque adicionamos uma caixa elástica vazia aqui. Portanto, não podemos vê-lo, mas temos uma caixa extensível vazia entre essas duas classes. Portanto, sempre que aumentarmos o tamanho, ele sempre será o primeiro botão na primeira posição da página. E então teremos o segundo botão e a parte superior ou inferior da página. Então é isso. Basicamente, é assim que podemos usar o layout da caixa QV e manipular esses botões e alterar dinamicamente a posição e o tamanho. Então é isso basicamente para a caixa QV, ou seja, criar uma caixa de estiramento vertical entre esses dois, talvez dois botões. Agora, o que vamos ver é a caixa QH, ou seja, adicionar uma vertical ou sinto muito, uma caixa horizontal entre esses dois botões. Então, como fazemos isso? Simplesmente criamos um conjunto do vBox. Vamos criar uma caixa H. Então, como fazemos isso? Deixe-me criar aqui, em vez da caixa QV, vou ter a caixa QH. Se eu for em frente e executar isso de novo, vamos conseguir algo assim. E desta vez, se eu aumentar a altura, sinto muito, a largura do aplicativo, veremos algo semelhante a antes. Então é isso. Basicamente, é assim que podemos usar o layout da caixa QV e QH para melhorar nossa experiência com o Piketty cinco. Agora, outra classe é o layout da grade. E essa classe nos permitirá criar uma grade e adicioná-la à nossa janela. Então, como fazer isso? Acabei de criar o layout de grade QC dessa pizza, publiquei toda a importação anterior. E agora podemos começar com nossa função. Então, o que vamos fazer é copiar o anterior aqui. E então o que vamos fazer agora é criar uma grade usando o layout de grade QC. Então, vou ter que criar uma grade a partir do layout da grade Q. Então o que vamos fazer é preencher essa grade usando widgets. Então, os widgets serão q botões de pressão. Então, podemos especificar um botão que queira ser talvez apenas q, aperte o botão do nome. Talvez apenas o Botão 1 e, em seguida, botão para fila. Botão, botão para eu vou ter três ou quatro qbotão de pressão. Tão bonito botão de beta3 e Button 4, que também será q botão botão para. Então é isso basicamente agora, deixe-me apenas atualizar isso. E agora conseguimos que criamos todos os botões que precisamos. Agora o que vamos fazer é adicioná-los à nossa grade. Então, como você faz isso? Simplesmente adicionamos à grade um widget, que é basicamente o Botão 1. No entanto, precisamos especificar a posição. Então, a primeira posição será 11. E, em seguida, vamos adicionar também widget. E vai ser o botão 2 da posição. Talvez você queira ler esse widget de adição, botão três, talvez 21. E, em seguida, leia que adicionar widget Botão 4 a 2. Então é isso basicamente agora criou nossa grade. Precisamos adicioná-lo à nossa janela. Então, como você faz isso? Precisamos definir o layout de uma janela como antes para ser essa grade. Usamos anteriormente o layout set para ser esse VBox. Agora vamos defini-la para ser essa grade que acabamos de criar. Depois disso, vamos definir a geometria. E, claro, você pode escolher o que quisermos. Eu prefiro ir por 500s. Agora, se eu for em frente e mostrar isso e subir o aplicativo, então app.py execute. E vamos ver algo assim. Então é isso. Basicamente, temos quatro botões. botão um não era muito ruim e três ponteiros quatro. No entanto, desta vez eles são dinâmicos, então eles mudam sempre que criamos ou movemos e redimensionamos nosso aplicativo. Então, como fazemos isso? Simplesmente criamos uma grade usando o layout de grade desenfileirado. Criamos nossos botões e depois os adicionamos a essa grade. E depois disso, definimos o layout da nossa janela para ser esse crédito real que acabamos de criar, o que mostra a geometria com a qual vamos começar. Mas sempre podemos manipular ou alterar e redimensionar o aplicativo como quisermos. Então é isso basicamente para essa aula, ainda temos uma classe que vamos enfrentar no próximo vídeo. Vejo você então. 7. Layout de formas: Tudo bem, então olá e bem-vindo de volta. Neste vídeo, vamos continuar nossas aulas de camada fora. E também temos a classe final, que é a classe de layout de formulário. E nesta aula vamos discutir como adicionar linhas aos widgets que temos. Então, vamos começar criando nossa classe de layout de formulário de fila. Nesse caso, o que vou fazer é simplesmente o novo script, nomeá-lo q form, layout dot py. Então, agora que temos tudo o que precisamos, o que vou começar é criar um rótulo. E para fazer isso, vou nomeá-lo de rótulo um. E neste caso, vou usar o rótulo da fila. E talvez só precisemos do primeiro nome da pessoa. E então o que vamos fazer é criar nosso layout de formulário puro. Então, vou nomeá-lo para layout. E vai ser q para layout. E o que vamos fazer é adicionar esse rótulo ao layout do formulário. Então, como fazemos isso? Simplesmente o layout do formulário correto, adicionamos linha de pontos. E nesta linha vamos adicionar esse rótulo um. Agora, se eu for em frente e executar isso, sinto muito, corremos o problema antigo. Vou executar q para layout dot py. E vamos pegar k. Então esquecemos de mostrar a janela que acabamos de criar. Então, para fazer isso, precisamos mostrá-lo aqui. E é claro que precisamos sair executando o aplicativo, então o ponto seja executado como antes. E, claro, precisamos adicionar ou definir o layout da janela para ser esse layout de formulário que acabamos de criar. Então você pode dizer que o layout de pontos W a ser deformado layout criado anteriormente, assim por diante, layout out. E agora estamos bem. Então, se eu for em frente agora e executar isso novamente, veremos algo assim indicando que temos FirstName como rótulo. Agora, o que vamos fazer é adicionar talvez uma entrada onde o usuário possa adicionar seu FirstName. E neste caso, o que vamos fazer é simplesmente adicionar após o rótulo e adicionar outra linha, só precisamos deixar uma variável de entrada 1 a b da linha q editar. E agora, sempre que adicionamos a linha dois, este layout de formulário. Então, aqui nós rotulamos um e vamos adicionar uma entrada como tal. Então, se eu for em frente e executar isso novamente, teremos algo como esse FirstName e onde o usuário também poderá editar ou adicionar seu primeiro nome. Agora vamos fazer exatamente a mesma coisa para o sobrenome. Então, talvez rotulado dois seja igual ao rótulo q e sobrenome. Nesse caso, vamos precisar uma entrada dois da linha q também. E, claro, depois de criar o layout do formulário e inserir os primeiros rótulos e entradas, também adicionaremos uma nova linha, neste caso para a rotulada dois e a entrada 2. Então é isso basicamente agora, se eu for em frente e executar isso de novo, vamos conseguir algo como este FirstName, LastName, e assim por diante. Então, agora o que vamos fazer é adicionar talvez mais informações sobre essa pessoa. No entanto, talvez uma linha não se encaixe. Então, o que vamos fazer é mesclar algo de uma classe anterior, que é DQ box. E neste caso, vamos usar o alongamento vertical para a caixa. Nesse caso, deixe-me ir em frente e adicionar um rótulo três, indicando que informações extras podem ser. Então, informações extras. E neste caso, precisamos de uma entrada do usuário que consiste em duas linhas, por exemplo. Então, entrada 3, uma será a linha DQ Edit. E, em seguida, a entrada 3, 2 será adicionada uma linha de fila diferente. Então, edição de linha Q. No entanto, precisamos mesclar esses dois para uma caixa. Então, como você faz isso? Vamos criar uma caixa. E será, claro, do layout da caixa QV, pois precisamos tê-los verticalmente. Então Q, o layout da caixa. E o que vamos fazer é adicionar essas duas entradas nessa caixa. E depois disso, precisamos adicionar todos esses livros ao layout do formulário que você acabou de criar. Então, como você faz isso? Simplesmente usamos a função Adicionar widget que temos que inserir 31. E então também precisamos adicionar a entrada 32. Agora, neste caso, temos nossa caixa composta por duas entradas do usuário que estão verticalmente na tela. Então, o que vamos fazer agora é adicionar um Euro dentro deste layout de formulário que consiste no rótulo três e toda esta caixa aqui. Então é isso basicamente agora, se eu for em frente e executar isso novamente, vou conseguir algo assim, indicando que temos FirstName, LastName, e temos informações extras de caixas de ferramentas. E como você pode ver, se eu mudar a largura, eles serão redimensionados. Então é isso basicamente agora o que podemos fazer talvez seja fazer com que o usuário escolha entre duas categorias. E neste caso, podemos usar a caixa como horizontal para colocar as categorias em. Aqui, por exemplo, temos a categoria um e a categoria dois. Então, podemos usar o botão de opção, se quisermos. Eles usam para escolher apenas uma categoria. Então, neste caso, o que vou fazer é criar um novo rótulo indicando talvez o tipo de categoria. Então, para fazer isso, o que vou fazer é simplesmente criar um novo rótulo para, que será o rótulo Q do tipo de categoria. E depois disso, vou criar uma nova caixa, no entanto, precisávamos horizontalmente desta vez. Então, vou ter caixa H indicando essa caixa horizontal. E vai ser o layout da caixa Q H. E precisamos adicionar widgets. E neste caso, o que vamos adicionar é o botão de opção Q. E este é um novo que vamos explorar agora. Então, vamos adicionar o botão de opção q, e será Categoria 1. E, em seguida, vamos adicionar um novo widget. Desculpe, aqui temos caixa H em ambos os casos. E vamos adicionar o botão de opção q da categoria 2 neste caso. E agora, depois de criar esta caixa H, o que precisamos fazer é adicionar o alongamento. E neste caso, simplesmente podemos fazê-lo usando a caixa H que adiciona alongamento. E, claro, depois disso, o que vamos fazer é simplesmente adicionar todos esses rótulos e caixas no layout do formulário que acabamos de criar. Então, layout de formulário que adiciona linha. Vamos ter o rótulo para. E então teremos a entrada ou a caixa H que acabamos de criar. Então, se eu for em frente e executar isso novamente, vamos conseguir algo assim, indicando o tipo de categoria, categoria um e a categoria dois. Agora lembre-se de que apenas usamos este alongamento para, se aumentarmos o tamanho para ter essa categoria um e a categoria dois. E o usuário só pode escolher um tipo, pois optamos por ter um botão de opção. E isso garantirá que o usuário escolha uma e apenas uma categoria. Então é isso basicamente, agora podemos simplesmente adicionar botões talvez para o usuário enviar o formulário. Então deixe-me fazer isso aqui. Então, o que vamos adicionar é um novo botão. Então, vou criar uma nova linha aqui. Então, layout de formulário que adiciona linha. Vou adicionar um botão de cubo. Nesse caso, dirá, envie o formulário. Agora, se eu for em frente e executar isso de novo, vamos conseguir algo assim. Envie o formulário. E, claro, também podemos adicionar outro botão de fila talvez para cancelar este formulário. Então podemos dizer Cancelar aqui. Agora, se eu for em frente e executar este, disparar o tempo, vamos conseguir algo assim, enviar o formulário e cancelá-lo. Temos FirstName, LastName, informações extras e o tipo de categoria aqui. Então é isso basicamente para a fila de um layout. Com isso dito, este é o fim das classes de layout que temos. Nós exploramos a caixa de cubo, a grade do cubo e a forma q disso nos ajudarão a construir pi QT cinco aplicações mais tarde, quando as coisas se complicarem. Então é isso basicamente para este vídeo, com isso dito, este é o fim disso. E vejo você no próximo. 8. Etiqueta: Olá e seja bem-vindo de volta. Neste vídeo, vamos falar sobre bruxas. Você já viu alguns deles, como o rótulo, a linha, a edição, o botão de pressão e o botão de opção. Agora, neste vídeo, vamos discutir alguns desses e depois vamos descobrir novos. Então, o que vamos começar é o trabalho Q que usamos anteriormente aqui. Então, primeiro vou criar um rótulo de fila que Py Script. E dentro disso, vamos trabalhar com a classe trabalhista Q. Então, a primeira coisa que vou fazer é importar tudo o que temos aqui, esse novo script. E o que vou fazer também é iniciar o aplicativo com a janela que precisamos criar. E, claro, vou mostrar a janela com a execução do aplicativo no final. Portanto, isso é para a configuração. Agora, o que vamos fazer é criar nossos trabalhos. Portanto, temos dois métodos para criar o rótulo. Então, ou nós o nomeiamos de rótulo um e apenas criamos o trabalho da fila aqui. E depois disso, podemos definir o texto desse rótulo em, por exemplo, eles rotularão um. Agora, o segundo método é na verdade, por que criar o rótulo dq, apenas definimos o texto dentro dele como um parâmetro ou um argumento como este. Então é isso basicamente, não, ele terá um estreito e agora estamos bem. Então, esses são os dois métodos principais que você pode fazer para criar isso. Agora o que podemos dizer é, deixe-me apenas executar o roteiro e mostrar a você. Então, se eu executar Python q rotulado dot py, vamos conseguir algo assim. No entanto, não os adicionamos ao script Python real ou à janela, então só precisamos fazer isso aqui. Então, como você pode ver, temos o rótulo que criamos o rótulo q. Precisamos adicionar o parâmetro ou argumento W, indicando que esse rótulo está nesta janela w. Agora, se eu for em frente e executar este script, vou obter é rotulado como um dentro da nossa janela aqui. Agora, se quisermos adicionar rótulo ao que podemos realmente fazer é ao criar o rótulo da fila e adicionar o nome, podemos adicionar um novo argumento indicando a janela que precisamos. Agora, se eu for em frente e executá-lo novamente, vamos ser rotulados como um. E como você pode ver, temos dois em cima do rotulado. Então, para que pareça melhor, podemos rotular para o movimento talvez 50 por 50. E é claro que precisamos definir a geometria dessa janela em algo assim. E como você pode ver agora, se eu for em frente e executar isso novamente, vamos obter o rótulo um e o rótulo dois como esperado. Agora, se você quiser apenas mover os rótulos e quisermos escolher suas posições, podemos realmente fazê-lo usando o vBox sobre o qual aprendemos anteriormente. Então, como fazemos isso? Primeiro de tudo, antes de criar esse rótulo e colocá-lo na janela, vamos apenas criar um trabalho sem colocá-lo em nenhum lugar. Então, temos esses dois rótulos. Agora, o que vamos fazer é simplesmente definir os alinhamentos desse trabalho. Portanto, o rótulo um será de alinhamento. E vou usar o ponto q t. E temos uma função chamada centro de alinhamento. Centro tão alinhado. E vou precisar que o rótulo seja definido à direita, então q t ponto alinhado. Certo? Agora, o que vamos fazer é criar nossa caixa para conter esses rótulos. Então, o que podemos dizer é que a caixa será igual ao layout q vBox. E então esta caixa terá o rótulo um e também rotulado 2. Agora, se quisermos, podemos adicionar o trecho entre eles. Então, como antes, podemos adicionar alongamento. E agora estamos bem. O que podemos fazer também é simplesmente mostrar ou definir o layout da janela para ser esta caixa. Então, como você faz isso? Você pode simplesmente escrever o layout do conjunto de pontos w e vamos adicionar caixa nele. Então agora, se eu for em frente e executar isso de novo, vamos conseguir algo assim. Portanto, temos o rótulo um no meio e rotulado para o canto superior ou inferior direito aqui. E isso se deve ao alongamento entre esses dois vizinhos e claro, ao alinhamento ou alinhamento do SAT à direita para o trabalho 2. Agora, se eu remover isso, por exemplo, e executar isso novamente, teremos algo assim. Então, como você pode ver, rótulo dois não está no canto superior ou inferior direito e o rótulo um não é o centro superior da tela. Então é isso. Basicamente, isso é o que o trecho faz e, claro, os alinhamentos definidos também são necessários para obter a saída desejada. Então isso é basicamente para a classe trabalhista. Com isso dito, este é o fim deste vídeo. No próximo vídeo, vamos discutir a edição da linha Q. Então, vejo você. 9. Edição em linha: Bem-vindo de volta. Neste vídeo, vamos discutir a classe de edição de linha Q. Então, antes de tudo, antes de começar, deixe-me voltar para um script anterior e copiar tudo isso. Vou colá-los aqui e as linhas finais aqui. Agora estamos prontos para ir. O que vamos fazer é começar com a criação de uma edição de linha. Então, vou nomear a entrada. Uma delas será adicionada a linha q. E o que vamos fazer é usar algumas funções que estão disponíveis para nós dentro da linha da classe. Então, antes de fazer isso, deixe-me executar este script. E, como podemos ver, não temos nada nele porque não adicionamos essa linha adicionada ao layout da janela. Agora, uma maneira de fazer isso é apenas adicionar algumas linhas ao layout do formulário. E dentro dessas linhas vamos adicionar essas edições. Então, para fazer isso, vou simplesmente criar layouts padrão aqui. Vou nomear o layout do formulário Q para o layout que usamos anteriormente. E então vamos adicionar uma linha a ela. E dentro desta linha eu vou ter a entrada. E, claro, antes de mostrar duas janelas, precisamos definir o layout para ser essa fórmula que acabamos de criar. Agora, se você voltar e executar isso novamente, vamos conseguir algo assim indicando que o usuário pode usar essa entrada ou pode inserir a entrada desejada. Agora, o que vamos fazer é modificar ou melhorar essa edição de linha. Agora, uma maneira de fazer isso é especificar o comprimento máximo, por exemplo, ou definir o alinhamento dessa entrada. Então, vamos trabalhar com várias funções. A primeira coisa que vamos fazer é verificar se essa entrada é um número inteiro ou não. Então, o que podemos fazer é realmente tentar colocar um, esse validador final. Então, vamos usar o validador de conjunto. E dentro disso, vamos usar o DQ e o validador. Então, o que essa função realmente faz é que ela permitirá que o usuário insira apenas um inteiro. Então, como exemplo, se eu for em frente e executar isso de novo, vamos conseguir isso. Agora, estou tentando escrever e decair, mas algumas letras, não há nada aparecendo nesta entrada. No entanto, se eu escrever alguns números, vou conseguir isso. Agora, como você pode ver, temos tantos números se quisermos limitar apenas a dois números, por exemplo, podemos definir o comprimento máximo deste e 22. Então, como você faz isso? Vamos usar a entrada, o comprimento máximo definido em dois. Agora, se eu for em frente e correr, novamente, vou conseguir algo assim. Agora eu escrevi alguns números, no entanto, estou tentando agora escrever um pouco mais, mas não vai aceitar. Então, isso é basicamente para verificar o número inteiro. Também podemos definir o alinhamento para o centro, para a esquerda ou para a direita. Fizemos isso antes. Agora, vamos nos concentrar em alguns números flutuantes. Então, vou criar outra entrada, que é a entrada dois, edição de linha Q. E dentro disso, vamos criar um validador de conjunto de duplo. E como fazemos isso? Vamos fazer exatamente a mesma coisa que fizemos antes. Definir validador, agora um conjunto de Q e facilitador, vou usar o validador q duplo. Nesse caso, ele verificará se este é um duplo entre dois números. Eu vou talvez apenas colocar 0 e 100 por um 100. Agora, eu quero ter cinco dígitos após o ponto decimal. Portanto, esse é o máximo de dígitos em voz alta. Agora, se eu for em frente e adicioná-lo ao layout do formulário, que adicionar linha, vamos adicionar a entrada dois. E, claro, um arquivo. Vá em frente e execute esse código novamente. Vou conseguir algo assim. No entanto, desta vez aqui, eu posso talvez em 33 pontos, se eu pressionar 66666. Agora, se eu continuar pressionando o sexo, nada acontecerá porque especifiquei que preciso apenas cinco números após os pontos decimais. Então, aqui estão cinco números. Agora e agora, sempre que tento pressionar mais alguns números, nada acontecerá porque esse é o máximo que eu posso usar. Portanto, é isso para os dados de valor duplo q. Agora vamos passar para algumas outras funções. Também temos alguma linha adicionada ou uma entrada para senhas. Nesse caso, o que podemos dizer é que precisamos de uma nova edição de linha Q. E dentro disso, vamos criar um modo Eco definido. E vamos usar a linha Q, adicionamos essa senha. E depois disso, podemos adicioná-lo ao layout padrão. Será o terceiro. E vamos remar, e isso é empatia. Agora, se eu for em frente e executar isso, vamos conseguir algo assim. No entanto, sempre que eu digito dentro desta entrada ou edição de linha q, ela não será exibida porque esta é senha, que não deveria ser mostrada. Agora, outra função seria o texto somente leitura. E neste caso, deixe-me apenas criar uma entrada para e será a linha Q em dois. Então, vou criar a edição de linha de fila. E é claro que vamos definir somente leitura. Será igual a verdadeiro. Agora, se eu for em frente e adicioná-lo aqui, layout do formulário, mas adicione linha. Vamos adicionar a entrada para. Agora, o que vamos fazer é simplesmente executar isso novamente. E não estamos vendo nada aqui, no entanto, podemos tentar fazê-lo. Portanto, se eu definir o rótulo ou o SAT detectar dentro desta edição de slides, o que podemos fazer é definir tarefas nisso como somente leitura. Feche esta corrida. Como podemos ver, conseguimos isso como somente leitura e não podemos realmente entrar nisso porque definimos a função somente leitura em true. E isso não permitirá que o usuário adicione ou altere esse texto aqui. Agora também temos algumas outras funções. Por exemplo, se quisermos ver o texto e na entrada, podemos imprimi-lo usando a entrada para o texto. Então, se eu for em frente e executar isso, vamos conseguir que algo assim seja somente leitura, indicando que isso detecta uma entrada para. Agora, outra coisa a levar em consideração é a fonte que estamos usando. Assim, você pode alterar a fonte e o tamanho do pixel. E uma maneira de fazer isso é simplesmente usar a função set. E você precisa especificar a fonte e o tamanho da fonte. Por exemplo, aqui vamos usar 12 e Arial. Se eu for em frente, execute isso novamente, vamos conseguir, então aqui temos um erro. Deixe-me verificar. Tudo bem, então aqui dentro desta fonte, precisamos criar ou usar uma fonte de fila aqui. E agora estamos bem, deixe-me correr de novo. E sim, então esta é a fonte e o tamanho mudam de antes. Então é isso. Basicamente, temos tantos métodos e funções dentro dessa linha de edição, mas esses são os mais importantes que podemos usar em nossa pizza que podem ter cinco aplicativos mais tarde. Dito isso, este é o fim do vídeo adicionado à linha da fila. Vejo você no próximo. 10. Botão de rádio: Tudo bem, então neste vídeo vamos discutir outra classe que é a classe de botão de opção Q. Para isso, deixe-me criar um script. Vou nomeá-lo botão de opção Q por. E o que vamos fazer é criar ou importar a mesma coisa que fizemos anteriormente. Então o que vamos fazer é criar um aplicativo. E vou usar um widget para este. Então eu vou chamá-lo de W. E talvez eu simplesmente copie isso daqui com todos esses. Então deixe-me ir em frente aqui. E nós definimos q, o que ele, e nós conseguimos. Então agora, se eu for em frente e executar isso aqui, e nós vamos pegar Python, você classifica seu botão ponto py. Vamos conseguir algo assim, que é uma janela vazia. Agora, o que vamos fazer é criar nossos botões. E neste caso, haverá o botão de opção tipo q. Então, o botão 1 será o botão de opção Q. E vou nomeá-lo primeiro. Então, o que Into também será o botão de opção Q. E este será o segundo. Agora, o que vamos fazer é criar uma espécie de caixa para adicioná-los. E geralmente os botões de opção vêm de forma horizontal. Então, o que vamos fazer é criar uma caixa horizontal usando o layout da caixa QH. E como podemos ver depois de obter esses botões, o que vamos fazer é simplesmente adicioná-los à caixa pela função Box As. E vamos adicionar o Botão 1. Em seguida, também vamos adicionar o botão também. E, claro, depois de terminar com isso, o que vamos fazer é simplesmente executar isso de novo. Mas antes de fazer isso, o que realmente precisamos fazer depois de criar esses botões é simplesmente definir o atraso do nosso widget ou nossa janela nessa caixa. Então, como você faz isso? Vamos usar a função set layout das palavras-chave, da classe, e vamos defini-la para ser essa caixa. Agora, se eu for em frente e fechar isso, executá-lo novamente, vamos conseguir algo semelhante a isso. Temos dois botões. Primeiro, segundo, e como eles são botão de opção, só podemos escolher um. Então, vamos alternar entre eles. Agora o que vamos fazer é definir um deles. E vamos definir o primeiro botão neste caso, para fazer isso, podemos simplesmente usar o S verificado. Portanto, é uma função, na verdade, botão de opção. E vou defini-lo como verdadeiro. E agora, se eu for em frente e executá-lo, novamente, vamos conseguir alguma coisa. Tudo bem, então temos um erro. Então, estou usando esse ato em vez de Es geht. Agora corra, vamos pegar o primeiro segundo, e desta vez obtivemos o primeiro set desde o início. Agora, o que vamos fazer é simplesmente criar uma função para saber qual botão é realmente conversar agora. Então, para fazer isso, vamos começar com a criação e a função D, indo nomeá-la, talvez apenas a função radial. Por simplicidade, vou colocá-lo aqui. Então, temos função de rádio. E essa função é responsável por saber ou nos informar qual botão está marcado. Então, ele vai usar o botão como um parâmetro. E será necessário, ou verificará se o texto é igual ao primeiro botão, que é o primeiro. Portanto, se for igual a primeiro, vamos imprimir que este primeiro é o botão selecionado. E se este não for o caso, então certamente é o segundo. Nesse caso, vamos imprimir segundo lugar, os botões selecionados. Agora, para mesclar essa função ou usar essa função com nossos botões, o que realmente precisamos fazer é usar a classe de botão de opção alternado, meu método e nossa classe de botão de opção do. Então, para fazer isso, mas precisamos fazer aqui é adicionar Botão 1 ponto, ponto alternado conectar-se à função radial que acabamos de criar. Vamos usar o lambda. E será necessário criar sua função e ela terá um parâmetro inferior is. Vamos fazer exatamente a mesma coisa para o botão 2. Vamos usar o lambda aqui, certo? Você funciona. E será necessário um botão para, neste caso. Agora, o que dissemos aqui é que precisamos verificar se o botão está alternado. Vamos executar esta função usando o Botão 1 para imprimir primeiro é o botão selecionado. E se o botão 2 for o alternado, vamos imprimir. segundo é o botão selecionado porque fornecemos o botão como um parâmetro. E ainda temos mais uma coisa a considerar e prestar atenção em nosso código é que sempre que você alternar entre esses dois botões, nós passamos de um a dois ou dois para um. Então, essas duas funções serão executadas. E neste caso, o que vamos fazer é verificar primeiro se detecta é igual a primeiro. Isso significa que esta é nossa primeira função ou nosso primeiro botão. E neste caso, o que vamos precisar fazer é verificar se o botão está marcado. Então, se esse for o caso, vamos imprimir que esse botão está selecionado e, se não, vamos imprimir que ele não está selecionado. Então, como você faz isso? Podemos simplesmente verificar se este botão está marcado, vamos usar o objeto aqui. Então, se b estiver verificado, vamos dizer que se isso for verdade, vamos imprimir este. E se este não for o caso, vamos imprimir isso. Primeiro, está desselecionado. O selecionado. E vamos fazer exatamente a mesma coisa aqui. Portanto, se b estiver marcado, vamos imprimir que este é o botão selecionado. E se este não for o caso, vamos imprimir que o segundo é o selecionado. Então, o que realmente fizemos aqui é que sempre que pressionamos um botão de opção, essas duas funções vão ficar frias porque estamos enfrentando do botão de uma a duas horas de duas para uma. E, claro, se essas duas funções ficarem frias, vamos começar com o Botão 1, que está bem aqui. Então, vamos supor que eu esteja no botão um e pressionei o segundo aqui. O que realmente fizemos é chamar essas duas funções aqui. E essas duas funções serão chamadas usando os parâmetros específicos. Então aqui temos nosso botão, um aqui, então deixe-me tê-lo aqui, ok? Tudo bem, então vamos pegar o Botão 1 aqui. E ele vai verificar se o texto é igual a primeiro. Sim, é. Vai entrar nessa condição. Agora vamos verificar se B está marcado. Observe que este não é o caso porque o Botão 1 não está marcado. Nós alternamos do botão, queremos fazer o botão 2 que agora está marcado. Então, o botão 1 não está definido. Vamos imprimir primeiro é desselecionado. Então vamos passar para a segunda função, essa é esta. Botão dois, vamos pegar o botão como um parâmetro. Então, vamos inserir essa condição e vamos verificar se o botão 2 está marcado. Se este for o caso, o que está certo, vamos trazer esse segundo é o botão selecionado. Então, vamos testar o conjunto. Se eu for em frente agora e executar esse código, vamos conseguir isso. E assim podemos ver que estamos no início agora. Se eu pressionar em segundo, verei que primeiro está desselecionado, segundo é o botão selecionado. Agora, se eu pressionar primeiro novamente, vou selecionar o segundo SD. Primeiro é o botão selecionado. E isso ocorre porque essas duas funções serão executadas. Então é isso basicamente para o push da fila. Desculpe, esta é a taxa de cura que você botão. E nós temos muitos métodos dentro dessa classe, mas vamos nos ater a esses. Dito isso, este é o fim deste vídeo. Vamos ver você o próximo. 11. Caixa: Olá e bem-vindo de volta. Neste vídeo, vamos discutir uma nova classe que é a classe de caixa de seleção DQ. E essa classe será muito semelhante ao botão de opção da fila. Na verdade, deixe-me apenas copiar isso. E é claro que vamos começar com um widget q aqui. Então, vou ter o aplicativo. Então vamos ter que sair. E, claro, vamos precisar mostrar isso. Então é isso. Basicamente, é assim que podemos começar. Agora, o que vamos fazer é criar nossos botões. Nesse caso, a caixa de seleção será do tipo. Então, o Botão 1 será a caixa de seleção q e será nomeado primeiro botão para Qtalões de cheques. E isso vai ser o segundo. Agora, o que vamos fazer é apenas adicioná-los a uma caixa QH como antes. Então, vou emitir o layout da caixa Q H. E ele terá esses dois botões, soapbox que adicionam widgets, botão um. E então vamos adicionar o botão também. Depois disso, o que vamos fazer é definir o layout do nosso widget nesta caixa. Então, como você pode ver agora, se eu for em frente e executar esta caixa de seleção Python QC que pi. E vamos conseguir algo assim. E posso verificá-los e desmarcá-los o quanto eu quiser. Agora, o que vamos fazer é criar uma função que nos avise como antes, se esse botão for a única tag ou se estiver selecionado ou desmarcado. E para fazer isso, farei exatamente a mesma coisa de antes. Então, vou nomeá-lo selecionado ou não. E essa função vai pegar um botão e verificará o estado ou o texto desse botão. Então botão dot txt. Se isso for igual a primeiro, isso significa que este é o primeiro botão. E vamos verificar se o botão está marcado como antes. E agora, se esse for o caso, então, se isso for igual a verdadeiro, então vamos simplesmente imprimir que primeiro está selecionado. E se este não for o caso, vamos imprimir isso primeiro. É o selecionado. Depois disso. O que vamos fazer, se este não for o caso, também vamos verificar se o segundo botão está marcado. Portanto, se o botão que x não for igual ao primeiro, isso significa que estamos no segundo botão. E neste caso, vamos verificar se esse botão está marcado. Então, se isso for decaimento, imprima esse segundo será selecionado. E, claro, se este não for o caso, Jen, simplesmente imprima esse segundo. Tudo bem, então acho que estamos bem. Agora só precisamos adicionar essa função em nossos botões. E, como antes, vamos usar um método que é o alternado. No entanto, vamos usar também outro método que é o estado alterado. Portanto, para o método ou botão um, vamos usar o estado do ponto do Botão 1 alterado e vamos conectá-lo ao Selecionar ou não com o Botão 1 como parâmetro. E botão 2, vamos tê-lo como alternado. E vamos adicionar a ela essa função que está usando o método connect. Vamos adicionar select ou não. E levará o botão 2. Agora, se seguirmos em frente e executarmos esse código. Então deixe-me ir aqui e executá-lo, certo? Então, temos um erro na linha 31. E diz esse argumento um não-tipo inesperado. Tudo bem, então o que estamos dizendo aqui é que temos o botão, no entanto, dentro de escolher lambda. Então deixe-me ir em frente e usá-lo aqui. E agora, vamos executá-lo novamente. E como você pode ver, temos nosso primeiro segundo. E neste caso, se eu pressionar a sede, primeiro é selecionado, se eu pressionar em segundo, o segundo é selecionado. Agora, o que também podemos fazer é se eu pressionar mais uma vez, ele está desmarcado. Então, para explicar um pouco mais, Broadway, e eu vou fazer, é deixar-me mover isso até aqui. E o que vamos fazer é olhar para ele desde o início. Então, no início, não temos nada, então deixe-me começar com isso. Então, como podemos ver, se eu pressionar primeiro, o que vai acontecer é que o botão um chamará essa função usando o Botão 1. Vai chegar aqui, e na verdade é igual ao primeiro. Então, vamos inserir isso e vamos verificar se o Botão 1 está marcado. Se esse for o caso, então vamos trazer que primeiro é selecionado. Se este não for o caso, vamos imprimir que primeiro está desmarcado. Agora, depois disso, vamos executar isso uma vez porque não estamos alternando entre os dois botões, simplesmente alterando ou selecionando e desselecionando os mesmos botões. Então, se eu pressionar este, vou ficar contra o selecionado. Agora, se eu apresentar um segundo, vou conseguir que o segundo seja selecionado porque eles são dois botões diferentes com duas metas ou objetivos diferentes. Então eles não gostam dos botões de opção da fila que enfrentamos antes, escondidos aqui, nós os temos como dois botões diferentes e eles não estão relacionados entre si. Então, isso é basicamente isso é para a caixa de seleção Q. Esta é apenas uma ideia básica sobre como usá-los e o que podemos fazer com eles, como selecioná-los e desmarcá-los e saber exatamente qual botão ou uma caixa de seleção está realmente selecionado ou não está selecionado em neste caso. Então é isso basicamente para este vídeo. Vejo você no próximo. 12. Caixa combinada: Tudo bem, então olá e bem-vindo de volta. Neste vídeo, vamos falar sobre a classe de caixa combo QC. Então, antes de tudo, eu apenas imponho que tudo o que fizemos antes. E então vamos começar com a criação do aplicativo como de costume. Portanto, temos o aplicativo Q que usa os parâmetros. Tudo bem, então estamos bem. Então vamos construir nossa fila, que em, então Q, que será a variável w. Então o que vamos fazer é simplesmente mostrá-los. E, claro, vamos sair do sistema executando o aplicativo. Portanto, este é o nosso aplicativo básico. Agora, vamos começar com a criação dos livros de pepino. E basicamente a caixa de pepino é a caixa que contém várias seleções e você pode escolher uma delas. Então deixe-me começar com a criação dos livros de pepino e nomeá-lo caixa de combinação. E neste caso não seria caixa de pepino. E então vamos adicionar alguns itens a ele. Então caixa de combinação, que adiciona item. Vou adicionar primeiro. Em seguida, vou adicionar agora vários itens usando os itens em itens em vez do item. E isso nos permitirá adicionar uma variedade de itens. Nesse caso, vou adicionar um segundo, depois terceiro, quarto. Agora temos nossa caixa de combinação. Precisamos exibi-lo. Então deixe-me antes de tudo. Se eu for em frente e executar isso, teremos uma tela vazia porque não adicionamos essa caixa de combinação à nossa janela. Então, uma maneira de fazer isso é realmente criar um layout de caixa Q H talvez. E então você pode adicionar essa caixa de combinação aos bugs de layout QH. E, claro, vamos definir o layout do widget como os raios. Então, para fazer isso, podemos simplesmente criar o layout da caixa Q H. E o que vamos fazer é simplesmente adicionar isso a esta caixa. Então, vamos adicionar a caixa de combinação à nossa caixa, que é chamada de livros. Então adicione widget e adicione a caixa de combinação que você acabou de criar. E depois disso, precisamos definir o layout do widget do nosso real, que é W, para serem os raios que acabamos de criar. Então, vamos adicionar o layout do conjunto de pontos w e adicionaremos a caixa como layout. Então é isso basicamente agora, se eu for em frente e fechar isso e tentar isso de novo, vou conseguir algo assim. O começo que temos nossa caixa de combinação aqui. Então, nossa caixa de combinação parece assim. Por exemplo, podemos alterar nossa seleção. E ele selecionará apenas um de cada vez. Agora, para modificar isso ou saber qual seleção é exatamente, somos nós. Podemos criar uma função que nos diga exatamente isso. Então deixe-me criá-lo aqui. Será um nome, talvez a seleção. E vamos imprimir em qual índice ou em quais seleções estamos. E vamos simplesmente usar nossa caixa de combinação que acabamos de criar. Nesse caso, será a função que é obter o índice atual que temos e podemos acessá-lo usando caixa de combinação ou índice atual. Portanto, esse é o índice atual que adicionamos. Podemos adicionar aqui o índice atual. Estamos agora. E então também podemos imprimir a seleção real usando a mensagem de texto atual. Então, vamos imprimir isso. A nova seleção é. E então simplesmente adicionamos a ele a caixa de combinação que os textos atuais. E nós conseguimos, então agora se eu for em frente e executar isso, vamos conseguir isso se eu apresentar em segundo lugar. Tudo bem, então não adicionamos uma característica aqui. Precisamos chamá-la de função sempre que o índice atual for alterado. Então, vamos adicionar uma caixa que o índice atual muda. Se for esse o caso, precisamos conectá-lo à seleção que acabamos de criar. Então, temos agora um ir em frente e experimentá-lo. Vou excluir isso, fechá-lo e abri-lo mais uma vez. Agora, se eu pressionar isso, vou pegar dois como o índice atual em que estamos agora, a nova seleção é a terceira e será a mesma para todos os casos como podemos ver. E é assim que podemos usar essa função ou usar o widget de caixa de pepino que temos uma saída QT cinco aplicativos. Então é isso basicamente para a caixa de combinação, temos muitos outros métodos, mas esses são os mais famosos e mais usados. Com isso dito, este é o fim deste vídeo de pepino. Vejo você no próximo. 13. Caixa Spin: Bem-vindo de volta a este novo vídeo. Neste, vamos falar sobre a caixa de giro cubo que temos e Piketty fogo. E é um pouco semelhante à caixa de pepino, então deixe-me ir em frente e criar scripts. Então Q caixa de rotação ponto py. E nós conseguimos, então o que vamos fazer é criar como antes ou importar tudo daqui. E então vamos começar com o aplicativo. E também será um widget. E então vamos simplesmente mostrar. Portanto, esta é a nossa configuração. Agora, o que vamos fazer é começar criando nossa caixa de giro. E para fazer isso, podemos simplesmente criar primeiro um livro QV para ser o layout. Então, vou nomeá-la caixa, e será Q, o layout da caixa. E então o que vamos fazer é simplesmente criar o switch em w desta caixa que criamos. Então, vou definir o layout de w para ser as faíscas. E agora podemos começar com nossa caixa de gastos atuais. Então, o que vamos fazer é começar com a criação de um rótulo que seja pelo valor ou pelo preço, por exemplo. Então deixe-me apenas criá-lo rotulado como um. E será q rotulado, e será o valor aqui. E então o que vamos fazer é criar ou adicionar isso à nossa caixa primeiro. Então, adicione widget in a box. Vamos adicionar esse rótulo um a ele. Então podemos começar criando nossa caixa de rotação. Neste caso, vou nomeá-lo spin bucks e será de Q spin bucks. Agora, para adicionar valores disciplina, mas vai estar na tela. Então, agora o que vamos precisar fazer é simplesmente adicionar isso à caixa que temos. Então, vamos adicionar o widget aqui, então é adicionado à caixa e agora podemos mostrá-lo. Então deixe-me ir em frente e executar isso agora mesmo para girar a caixa. Agora. E vamos conseguir algo assim. Portanto, o valor padrão é 0. E você pode aumentar ou diminuir o valor tanto quanto quiser. Como você pode ver, esse é o nosso valor e este é o nosso ônibus gasto Q. E, claro, se quisermos apenas colocar isso no meio, podemos simplesmente usar aqui. Depois de criar o rótulo, pode simplesmente definir o alinhamento para estar no centro. Então q t centro de alinhamento de pontos. E, claro, vamos executá-lo novamente como de costume. Tantos dois clusters antes. E agora. Fahrenheit, podemos ver que esse valor está no meio da tela e temos nossa caixa Cushman que podemos dados e manipulá-lo. Então é isso basicamente para a caixa de giro dq. Também podemos saber qual é o valor. Assim, podemos criar uma função simples para fazer isso por nós. Então, vamos supor que eu precise saber o valor atual. E podemos simplesmente imprimir, talvez apenas imprimir o valor atual. E então podemos simplesmente adicionar aqui os bucks de spin esse valor. E isso será chamado sempre que alterarmos o valor da caixa de rotação. Então, vamos gastar o texto de ponto de caixa alterado e vamos conectá-lo ao valor que acabamos de criar. E agora, ei, precisamos adicionar STR porque o valor é um número inteiro e estamos anexando uma string. Agora, se eu for em frente e executar isso, vamos conseguir algo assim. Acertando isso. Toda vez que mudarmos o valor da mudança de texto, vamos obter o valor atual é e seguido pelo valor que temos agora e caixa de gastos. Então é isso basicamente para a classe de caixa gasta. Este é o fim disso. Então, vejo você no próximo vídeo. 14. Controle deslizante: Olá e seja bem-vindo de volta. Neste vídeo, vamos discutir uma nova classe que essa classe de controle deslizante dq. Então, para fazer isso, o que vou fazer é primeiro criar nosso controle deslizante de fila aqui. E agora o que vamos fazer é importar tudo como costumamos fazer. Então deixe-me ir em frente e fazer isso. E, em seguida, imagem, basta copiar nosso aplicativo com a janela da nossa cozinha. E finalmente, vou fechá-lo assim. E estamos bem para que possamos começar com nosso script de controle deslizante de matiz. Então, o que vamos fazer é primeiro criar nosso controle deslizante. E nós o temos por duas formas, horizontais ou verticais. Então, para fazer isso, vou fazer é simplesmente criar aqui. Então, vamos começar com o controle deslizante e, em seguida, um controle deslizante de imagem. E será um controle deslizante de fila de classe, como de costume. Agora, se quisermos tê-lo horizontalmente, vamos usar aqui q t ponto horizontal como argumento. Então, acuidade, não horizontal. Desculpe. Tudo bem, isso, e agora o que vamos fazer é criar uma caixa QV para adicionar isso a essa caixa e, em seguida, definir o layout da janela real, que será essa caixa que viemos criar. Então, para fazer isso, vou nomear uma caixa. E essa caixa será do tipo q, layout vBox. E depois de criar o controle deslizante, vamos adicioná-lo à caixa. Então, caixa que adiciona widget. E vamos adicionar esse controle deslizante aqui. E antes de terminarmos, vamos simplesmente adicionar ou definir o layout do nosso widget. Defina o layout como esta caixa real que acabamos de criar. Então agora, se formos em frente e executarmos isso e nós simplesmente subir e deslizar Q ou não pirar, vamos conseguir algo assim. E como podemos ver, podemos mudar esse controle deslizante. Podemos debater através dos valores que temos. Agora isso é para o horizontal. Se eu quisesse verticalmente, simplesmente mudo este para vertical. Agora, execute-o novamente. Vamos conseguir algo assim, que é um controle deslizante vertical. Agora, vamos em frente e adicionar algumas informações extras ou recursos extras a este controle deslizante. Vamos começar definindo os valores mínimo e máximo que podemos ter. E para fazer isso, podemos simplesmente usar as funções definidas no mínimo e máximo. Então, deslize o mínimo definido. E vamos defini-lo, por exemplo, para 0, ajuste de ponto deslizante máximo. E eu vou tê-lo às 10, às 100, sinto muito. Agora, se eu for em frente e executar isso, deixe-me mudar isso para horizontal. E agora, Ryan de novo, bem aqui, vamos conseguir algo assim como antes. E não podemos ver os valores agora porque não estamos usando nenhum método que nos permita fazê-lo. Então, se quisermos fazer isso, podemos criar algumas funções que faremos mais adiante neste vídeo. Mas, por enquanto, vamos nos ater a isso que temos aqui. Então, agora temos nosso mínimo e máximo. Uma maneira de fazer, uma maneira de saber como ou onde estamos neste controle deslizante, podemos usar a função que é o valor definido, que é controlar programaticamente o controle deslizante para definir um valor específico antes de iniciar o aplicativo. E para fazer isso, vamos usar o valor definido. Vou defini-lo para 50. E deve estar no meio, porque se tivermos 0, então estes são o mínimo e o máximo e o meio deve estar em 50. Então, se eu for em frente agora e executar isso, vamos conseguir algo assim, que é exatamente em 50. Então, se eu mudar isso para 100 agora e executá-lo de novo, vou conseguir algo assim. E observe que se eu mudar isso, por exemplo, para um 101 e executar isso, será no final também. Portanto, não importa o que seja, o valor inicial, se for maior ou menor que o mínimo e o máximo que temos, eles estarão na borda ou no final deles aqui. Por exemplo, se eu colocar aqui menos 52, vou obter o mesmo resultado em 0. Então é isso. Agora, também temos alguns métodos sobre a espessura que temos. Agora podemos vê-lo aqui, mas podemos adicioná-lo. Então, precisamos adicionar primeiro a posição das coisas que queremos. Portanto, temos o método definido na posição do convés. Então, vou usar o ponto deslizante para definir a posição. Temos algumas funções como dissemos, e vamos usá-las. Por exemplo, temos o texto de ambos os lados. E isso nos permitirá ter textos em ambos os lados aqui. Então, se eu executá-lo novamente, vou ter texto acima e abaixo. Agora, se eu quiser que eles estejam acima, vou usar decks acima. E vamos correr como podemos ver o acima. E, claro, se quisermos que eles estejam abaixo, é a mesma coisa. Podemos fazer dois. E também temos duas outras coisas. Isso leva à esquerda e texto para a direita, então vira à esquerda. No entanto, como estamos usando a horizontal e estamos usando textos à esquerda, ele realmente nos mostrará os textos no lado positivo da nossa janela, nosso aplicativo, nosso controle deslizante. E como podemos ver, se o usarmos para textos bem, aqui, vamos pegar o controle deslizante com nosso texto abaixo. Então é isso. Basicamente, esses são os métodos ou o que temos para o texto. Agora, o que podemos fazer é realmente definir o intervalo de ticks. Então deixe-me ir em frente e fazer isso aqui. Vou ter controle deslizante. Mas defina esse intervalo. Vou defini-lo para 10. Agora vamos executá-lo novamente. Como podemos ver, cada vez que movemos um carrapato será 10. Agora, se mudarmos isso para 100 e executarmos isso novamente, veremos apenas dois textos porque o valor agora é 100. E, claro, se mudarmos isso em um, veremos muitos textos porque estamos tendo um valor de um para cada tick que temos. Então é isso. Basicamente, vamos ouvir, ter um texto caçado aqui. Agora, essas são algumas das funções que temos no controle deslizante. Agora, o que temos nos sinais dessa classe de silo de fila, temos algumas funções, como o valor alterado. Ou seja, para notar que o valor mudou no controle deslizante. Temos o controle deslizante pressionado. Isso é para notar que o usuário começa arrastar o controle deslizante e o controle deslizante movido, que é quando o usuário acende o controle deslizante e o move para a direita ou para a esquerda, para cima e para baixo. E então temos esse controle deslizante liberado, que é quando o usuário libera o controle deslizante e não está mais segurado nele. Então, vamos usar alguns deles agora. E vamos usar o Connect para conectá-lo a uma função que vamos criar antes. Então deixe-me fazer isso aqui. Então, o que vou fazer é simplesmente criar uma função que seja exatamente como o nome indica, o valor foi alterado. E vamos simplesmente imprimir que o valor foi mudado para. E vamos adicionar aqui o valor do controle deslizante. E agora estamos bem. Então, se eu for em frente e usar o controle deslizante, valor, mudei essa conexão e conecte-a à mudança de valor que acabamos de criar. E vamos executar isso. Vamos conseguir algo assim. E, claro, se eu mudar isso, vou conseguir que o valor d seja alterado para qualquer valor em que estamos agora. Então, como podemos ver, essa é uma ótima maneira de saber o valor em que estamos por simplesmente uma linha de uma função. Agora vamos passar para outro método que é o peito deslizante. E isso indicará sempre que pressionarmos esse controle deslizante. Então, vou criá-lo aqui. Deslize o peito. E vamos imprimir isso. O controle deslizante é pressionado. E vamos usá-lo aqui. Então, controle deslizante, esse controle deslizante pressionou ponto conectar e conectá-lo à função que acabamos de criar. Vamos fechar isso e deixe-me apenas comentar isso para visualizar nosso controle deslizante. Então deixe-me ir em frente e executar isso de novo. Como podemos ver, temos nosso controle deslizante. E agora sempre que pressiono o controle deslizante agora, teremos a instrução print, que é o controle deslizante é pressionado. E o que quer que eu faça para não ser mais importante porque isso só detectará sempre que pressionarmos o slide. E agora, se eu soltar e pressionar novamente, vou buscá-lo novamente. Enquanto eu for presidente net, isso nunca mudará. O controle deslizante só será pressionado. Agora, se eu deixar ir e fazer isso mais uma vez, podemos ver que ele continuará imprimindo. Agora. O outro método é verificar se o controle deslizante está se movendo. Então, vou criar o controle deslizante em movimento. E vamos imprimir que o controle deslizante está se movendo. Agora, o que vamos fazer é ter a função que o controle deslizante movido e conectado ao controle deslizante, movendo-a para recém-criado. Agora vamos voltar a correr. E como podemos ver, se eu pressioná-lo, vou ter a decisão expressa como primeiro. Agora, se eu movê-lo uma vez, vou pegar o controle deslizante está se movendo. E cada vez que eu me mover, vou fazer com que o controle deslizante esteja se movendo. Agora, lembre-se, então se eu pressioná-lo, podemos ver que somos citados como peito aqui. Pressione mais uma vez, vou buscá-lo mais uma vez. E agora cada vez que eu movê-lo, vou fazer com que o controle deslizante esteja se movendo porque ele detectará o movimento da nossa cidra. Agora, a última função sobre a qual vamos falar é o controle deslizante lançado. Então deixe-me ir em frente e criá-lo aqui. Slider liberado. E isso só imprimirá nosso valor ou nossa declaração de que o controle deslizante é liberado. Agora podemos adicionar, na verdade, pelo valor que temos. Então, na verdade, basta adicionar valor. E então vamos adicionar um valor de ponto deslizante para indicar qual valor. Lançamos nosso controle deslizante. Salame. Vá em frente e execute isso aqui. E, claro, vou impedir que isso se mova porque 12 é um obstáculo para mostrar a parte de lançamento. Então, vamos usar esse controle deslizante liberado, não conectá-lo e conectá-lo ao controle deslizante lançado que acabamos de criar. Agora vamos fechar isso. E deixe-me mudar esse intervalo em dezenas. Vamos correr. E como podemos ver, este é o nosso controle deslizante e nossos intervalos. Se eu me mover, vamos fazer com que a solda seja pressionada. Agora, sempre que eu parar pegar o controle deslizante é liberado agregar valor, e vamos obter o valor em que estamos agora. Então é isso basicamente agora sempre que eu mudar, vamos obter o valor que temos. E é assim que podemos trabalhar com esses controles deslizantes e suas funções e métodos e criar uma GUI simples para obter valores do usuário. Então é isso. Basicamente, isso é para a classe de controle deslizante Q, mas dito isso, este é o fim deste vídeo. Vejo você no próximo. 15. Barra de menu: Olá e seja bem-vindo de volta. Neste vídeo, vamos falar sobre a classe de barra de menu da CPU. Então, antes de tudo, temos nosso aplicativo de bolso vazio 35. Agora, a primeira coisa que precisamos alterar é esse widget Q, porque a barra de menus realmente funciona em uma janela principal da fila. Então, em vez de ter o widget q, teremos Q janela principal aqui. E o que vamos fazer é simplesmente criar nossa barra de menus Q usando esta janela principal. Então, para fazer isso, vou nomeá-lo MB, indicando barra de menus. E vamos usar a barra de menu w dot como podemos ver. Então o que podemos fazer agora é adicionar algumas coisas a esta barra de menus. Um método é adicionar estrume. Então, vou nomeá-lo primeiro. E vamos adicionar um menu a esta barra de menus. E vou nomear isso pode ser o primeiro. Então agora, se eu for em frente e executar isso, desculpe, aqui temos o roteiro antigo. Agora, menu Q dot py. Vamos ter algo que se parece com isso. Temos nosso primeiro menu ou menu de adição que acabamos de criar usando a classe ou o método de menu Adicionar. Então é isso. Basicamente, esta é a primeira coisa que podemos fazer. Agora, o que também podemos dizer, deixe-me adicionar outro menu. Isso será o segundo. E deixe-me fechá-lo e executá-lo novamente. Vou pegar o primeiro segundo. Agora podemos adicionar algumas coisas a esta barra de menus. Por exemplo, sempre que pressionarmos primeiro, algo aparecerá aqui e podemos fazer alguns comandos, por exemplo. Então, agora que temos isso primeiro aqui, o que vamos fazer é adicionar a ele outro menu. E isso será, por exemplo, criar arquivo. Em seguida, vamos adicionar outra coisa, por exemplo, criar pasta. E deixe-me dar uma olhada nisso. Executar. Vamos conseguir isso. Sempre que eu pressionar isso, vou obter Criar arquivo, criar pasta por enquanto. E eles não farão nada porque não temos nenhuma função que suporte esses menus reais. Agora, o que vamos fazer é criar mais alguns. Então, primeiro o menu Adicionar, talvez vamos salvar. E então teremos outro menu Adicionar. E neste caso, vou nomeá-lo como Salvar como. Então, como podemos ver, deixe-me fechar a corrida. Vamos conseguir algo assim. E desta vez o que vou fazer é pressionar isso. E o que podemos ver aqui é que temos, por exemplo, nos salvar. E vamos supor que precisamos salvá-lo como PNG ou JPEG. E neste caso, o que realmente precisamos fazer é criar outro barramento ou outro menu aqui com mais algumas opções. Então, vamos supor que tenhamos uma imagem pronta para salvá-la. Podemos deixar o usuário decidir se queremos salvá-lo como PNG, JPEG e assim por diante. E para fazer isso, precisamos adicionar ações ao nosso menu. E podemos realmente fazê-lo usando o método add action. Então, vamos supor que tenhamos este Menu Salvar Como, vou nomeá-lo como Salvar como. E então vamos adicionar ação a isso. Vou nomear como salvar como PNG e, em seguida, salvar-nos a ação add, salve como j, pj. Agora, se eu for em frente e executar isso de novo, vamos conseguir algo assim. Deixe-me só você ficar um pouco maior. Agora, se eu pressionar isso, veremos salvar como PNG e salvar como JPEG. Portanto, temos mais algumas opções antes decidir a saída final que precisamos. Agora, uma última coisa que eu quero adicionar é, então deixe-me adicioná-lo aqui primeiro que adicione estrume e talvez saia. E isso deve realmente nos fazer sair do nosso método de nossa função aqui. Então, se tivermos este aplicativo espetado 5 e apresentar sair aqui, talvez ele deva fechar. Então deixe-me criar uma função que faça isso por nós. Então, e esta é a nossa função. E nós simplesmente fecharemos nosso absoluto naquela navegação. Se quisermos realmente sair, só precisamos criar uma ação de fila. E em vez de ter primeiro menu de adição e simplesmente adicionar isso, o que vamos fazer é adicionar uma ação ao nosso arquivo ou ao nosso primeiro. Mas seja lá o que chamamos aqui. Então, o que podemos fazer é talvez criar uma ação de fila aqui e ficar molhado. E então o que vamos fazer é simplesmente adicioná-lo. Então, adicione ação e vamos adicionar sair. Agora, sempre que tivermos um gatilho neste primeiro, por esta ação Q aqui. Então, sempre que pressionarmos a ação CQ que acabamos de criar, vamos conectá-la à nossa função que acabamos de criar. Então deixe-me ir em frente e executar isso. Tudo bem, então temos um erro dizendo que o argumento um tem ação inesperada do tipo q. E acho que isso é porque usamos desistir e desistir. E esses dois, temos a função que é boa e a variável que também é uma ação de sinalização, sai. Então deixe-me ir em frente e mudar isso para a WT. Agora, deixe-me tentar novamente. Tudo bem, então agora temos nossa função. E se eu pressionar primeiro, vamos ver desistir. E agora sempre que eu apresentar sair, o programa será encerrado e o aplicativo será fechado porque usamos a função applet quit que temos aqui. Então é isso. Basicamente, é assim que podemos sair ou tonificar algumas das funções e métodos que temos na barra de menus. Primeiro criamos o menu usando a barra de menus aqui. Em seguida, adicionamos algum menu a ele ou algumas funções e recursos. Nesse caso, somos o primeiro, segundo e, dentro deste primeiro, temos alguns comandos que você pode fazer ou o usuário pode usar. E neste caso, temos alguns deles, como criar arquivo, criar pasta, salvar, salvar como. E eles realmente não fazem nada agora porque não adicionamos nenhuma função a eles. Mas eles só aqui para mostrar como criar um aplicativo volumoso de cinco e como usar a barra de menus nele. E finalmente temos a função qt e eu realmente implementei porque achei que era bastante simples e uma ótima adição se quisermos fechar o aplicativo usando apenas uma simples linha de código. Então é isso basicamente para Cuba. Cuba temos algumas outras funções, como o título ou o conjunto de testes SAT, atalho e claro. E eles são bem diretos. Então, se por exemplo, deixe-me usar o claro aqui. Então, se você tiver nossa barra de menus e usar o método claro e tentar novamente, veremos que ela está limpa agora. Então é isso. Basicamente, isso é para a classe da barra de menus QC. Vejo você no próximo vídeo. 16. Barra de ferramentas: Olá e bem-vindo de volta. Neste vídeo, vamos passar pela classe da barra de ferramentas Q e purificaremos. Então, como você pode ver, temos nossos convites anteriores, nossa criação de aplicativos de aplicativos e, em seguida, temos uma janela da janela principal Q. E temos o método show para mostrar essa janela. E depois disso, temos a saída como antes. Então, para começar, precisamos criar uma barra de ferramentas usando essa janela. Então, vamos usar q janela principal para criar barra de ferramentas usando o método Adicionar barra de ferramentas. Então, vou nomear a barra de ferramentas, e será w ponto adicionar barra de ferramentas a esta janela. E vamos citar isso pode ser phi, digamos. Agora, o que vamos fazer é realmente criar algumas ações dentro dessa barra de ferramentas. E para fazer isso, precisamos de algumas imagens. Por exemplo, se quisermos salvar e sair de algumas coisas assim, podemos adicioná-las. Então deixe-me ir em frente e criar ou obter essas imagens e voltamos e continuamos. Ok, então temos esse ícone Salvar, e também temos esse ícone de saída aqui. Então, deixe-me criar essas ações. Então, talvez para abrir, vamos nomeá-lo aberto, e vai ser uma ação de sinalização. Agora, essa ação q usa dois parâmetros por enquanto. O primeiro é o ícone DQ, que é tão tipo de imagem. E neste caso, vou usar a imagem PNG desligada. E se não tivermos uma imagem, vamos exibir apenas aberto. E então temos a saída. E será do mesmo tipo. Então saia, ação Q e ícone Q. E é claro que vamos adicionar aqui o ponto de saída PNG e depois sair aqui. Agora, o que precisamos fazer é adicioná-los à barra de ferramentas que acabamos de criar. Então, para fazer isso, precisamos chamar a barra de ferramentas. E, em seguida, vamos usar o método add action. Vamos somar e, claro, vamos adicionar também a saída. Agora, se formos em frente e executarmos isso, vamos conseguir algo assim. E como podemos ver, temos nossa saída aqui. E, no entanto, isso não está aberto, é seguro. Então deixe-me mudar isso porque estamos usando o cofre em vez de abrir agora, phi vá em frente e feche isso e execute-o novamente. Vou salvar e sair como podemos ver. Agora, sempre que passarmos o mouse sobre um deles, vamos ver o que ele representa. Por exemplo, aqui abrimos isso, temos saída. Portanto, isso é basicamente para como usar uma ação de sinalização ou como criar um ícone de fila dentro da nossa barra de ferramentas. Agora, o que você precisa fazer é adicionar alguns gatilhos de ação e a estes para que possamos, por exemplo, sair daqui. Então, vamos supor que precisamos sair. Uma maneira de fazer isso é realmente adicionar crédito aqui. Então, vamos adicionar barra de ferramentas, ação acionada, e vamos acionar a ação de ação, sinalização. E, em seguida, seguido por pontos de conexão. Então, vamos conectá-lo a uma nova função. Vou dar o nome de saída. E essa função também seria responsável por nós. Saia disso. Então, vou nomeá-lo de saída. E nós vamos simplesmente avaliar ou subir, mas desistir. Saia. E quem pegou? Agora, como podemos ver, se eu for em frente e executar isso, vamos conseguir algo assim. No entanto, se eu pressionar qualquer um desses ícones, vamos sair porque o que realmente fizemos é que ela especificou que sempre que temos uma ação que é acionada, precisamos acessar. Então, por exemplo, se eu pressionar isso, vou sair. E se eu executar esse código novamente e pressionar em abrir, também iremos acessar a partir do aplicativo. E isso ocorre porque ambos os botões são considerados ação acionada. Agora, uma maneira de lidar com isso é, em vez de fazer com que toda a barra de ferramentas seja acionada por ação, podemos especificar que precisamos da saída. Então, se a saída for acionada, então temos essa função, mas acionada, e vamos conectá-la à função de saída aqui. Então, agora o que você pode fazer é simplesmente sair do aplicativo. Então é isso basicamente agora, se seguirmos frente e executarmos esse código, vamos conseguir algo assim. Se eu pressionar Salvar, nada acontecerá. No entanto, se eu pressionar isso aqui, vamos encerrar nosso aplicativo Piketty cinco. Então, isso é basicamente para a barra de ferramentas que temos n Pi codifica. Temos muitos métodos, como o método add action, e nós o usamos aqui. Agora. Também temos o conjunto móvel para tornar a barra de ferramentas móvel. E talvez possamos fazer isso imediatamente. Então deixe-me apenas, depois de criar a barra de ferramentas, vou para USD definido móvel aqui. E se eu executar isso de novo, precisamos acrescentar a verdade dele, desculpe. Agora, se executarmos isso, vamos conseguir algo assim e podemos movê-lo para aqui ou aqui. Então é isso. Basicamente, estas são as principais funções ou os principais métodos que você pode usar e desenfileirar a classe da barra de ferramentas no Piketty cinco. Dito isso, este é o fim deste vídeo. Vejo você no próximo. 17. Diálogo de entrada: Olá e seja bem-vindo de volta. Neste vídeo, vamos falar sobre a classe de diálogo de entrada Q que temos no Piketty cinco. Então, para começar, acabamos de copiar a tela em branco ou uma janela em branco que podemos criar usando um widget de fila. Então o que vamos fazer é realmente pedir ao usuário para digitar seu nome. Então, para fazer isso, o que vamos criar a princípio é um layout de formulário. Então, vou nomear o formulário. E vamos usar um layout de formulário para criar um anúncio, tudo dentro dele. Agora, o que vamos fazer é simplesmente criar uma linha de fila adicionada para permitir que o usuário insira o nome, por exemplo. Então, para fazer isso, o que vamos fazer é simplesmente criar uma edição de linha. Vou chamá-lo de Linha 1. Então, será uma edição de linha. E agora o que vamos fazer é adicionar isso em nosso formulário. Então forme ponto, adicione widget, adicionando a linha um. E então vamos adicionar ou definir o layout da nossa janela para ser esse formulário que acabamos de criar. Agora, se formos em frente e executarmos isso, vamos conseguir algo assim onde o usuário pode escrever ou fazer o que quiser. Agora, vamos adicionar um rótulo aqui. No entanto, não vamos usar o método Add label que temos no Pike 35. Na verdade, vamos usar um botão para mostrar que o usuário pode pressionar esse botão. E então vamos abrir uma nova janela onde o usuário também pode digitar seu nome. Então deixe-me mostrar como podemos fazer isso. Depois de criar a edição de linha. O que vamos fazer agora é simplesmente adicionar aqui o botão. Vou nomeá-lo Botão 1 e 2 PDF tipo q botão de pressão. E podemos usar insira seu nome. E depois disso, o que vamos fazer é adicioná-lo ao formulário. No entanto, precisamos adicioná-lo com o botão real. Então, em vez de adicioná-lo como widget de adição, usaremos Adicionar linha. E dentro desta linha teremos o Botão 1 e linha 1 por completo. Execute novamente. Vamos ver algo assim até o seu nome e temos algo aqui. Agora, se pressionarmos esse nome de entrada, nada acontecerá. No entanto, queremos ter uma nova janela onde o usuário também possa digitar o nome. E neste caso, o que podemos fazer é apenas usar a função de coleta que temos. Portanto, se esse botão ou sempre que esse botão for clicado, vamos conectá-lo a uma função que é digitar nome. E vamos criar um critério. Então deixe-me ir em frente e fazê-lo. A samambaia e o nome. E dentro disso, o que vamos fazer agora é simplesmente usar o diálogo de entrada Q aqui. Então, o que vamos fazer é obter nome e tudo bem, e vamos criar uma caixa de diálogo de entrada de fila. E aqui vamos usar o método getText para obter um texto do usuário. Então, vamos usar isso é tributado. E então vamos simplesmente nomeá-lo Diálogo de Entrada, seguido de simplesmente digitar seu nome aqui. Agora, vamos explicar o que esse nome e ou caixão representam em um segundo. Mas, por enquanto, o FOK é igual a verdadeiro. Então o que vamos fazer é simplesmente definir o que temos dentro deste nome e linha um que temos. Então, vamos ter a linha 1 ponto setText, vamos usar o método setText. E vamos armazenar o nome nele. Agora, se formos em frente e executamos isso, certo, então se eu pressionar isso, tudo bem, então temos um erro porque não especificamos a fila que adere. Então, estamos usando o widget Ws dq. Agora vamos tentar novamente. Experimente. Se eu pressionar aqui, vamos conseguir algo assim até o seu nome aqui. E este é o título de Imperador direto que acabamos de anotar. Nós inserimos um nome aqui. Então, se eu digitar Hadi e pressionar, ok, vou vê-lo aqui. Agora, se eu escrever, por exemplo, Eunice e oprimido cancelado, nada acontecerá porque especificamos que se o usuário pressionar um K, vamos definir o texto da linha 12 de nós temos dentro nosso nome. Se esse não for o caso, se o usuário pressionar, Cancelar ou fechar, nada acontecerá e o nome não será alterado. Então é isso. Basicamente, isso serve para perguntar ao usuário como você pode digitar o nome e obtê-lo de outro para o primeiro. Agora vamos supor que precisamos mudar o texto para um número inteiro. Nesse caso, precisamos pedir ao usuário sua idade, por exemplo. E o que podemos fazer é talvez, deixe-me apenas comentar isso e vou criar um novo botão. 12 será do tipo q botão de pressão e entrará na sua idade. Agora, o que vamos fazer é simplesmente mudar essa função para entrar em idade. E vou criar uma nova função que é entrar na idade. E também vamos ter idade. E tudo bem, como antes, no entanto, agora vamos usar a função get int com o W como um widget. E é claro que vamos ter as duas cordas, o título e o rótulo. Então, será uma caixa de diálogo de entrada e talvez apenas insira sua idade aqui. E agora se, como antes, então se, ok, vamos mudar as linhas 1 e 2 setText para o que tivermos dentro da nossa idade. Então é isso basicamente agora, se eu for em frente e executar isso de novo, vou conseguir algo assim, entrar na idade do nosso pessoal que vai ter isso. Podemos mudar a idade, o número inteiro usando essas setas. E também podemos alterá-lo escrevendo aqui. Agora, o que podemos fazer, deixe-me mudar isso para STR porque mesmo que seja uma idade, estamos recebendo de volta uma corda. Então, agora, se eu for em frente e executar isso, então nós apenas digitamos algo aqui. E se eu continuar, ok, vamos pegar o número aqui. No entanto, se eu apresentar cancelamento, nada acontecerá. Agora, como podemos ver, se eu tentasse escrever no teclado, nada acontecerá porque este é apenas um número inteiro. Estavam usando não pode simplesmente escrever tudo o que ele quer. E esse é um ótimo método para permitir que o usuário ou para especificar que o usuário não pode escrever nada além de um inteiro. Então agora esse é um ótimo método. Então, se eu tentasse escrever algo além de um inteiro, nada acontecerá. E uma maneira de melhorar isso é realmente, como você pode ver, se eu digitar algo aqui, eles aparecerão. E não é conveniente porque acabamos criar isso para evitar que o usuário escreva algo aqui. E podemos realmente desativar essa edição de linha. Então, vou usar a linha um que disse desabilitado, e vamos usar o drew. Agora, vou seguir em frente e executar isso de novo. Podemos ver que isso está desativado e o usuário pode pressionar ou não pode escrever nada aqui. No entanto, se ele escrever aqui, ele aparecerá dentro desta linha desabilitada nela. Portanto, essa é uma ótima maneira de garantir que recebamos um número inteiro de volta e não precisamos nos preocupar com o tipo que estamos recebendo. Agora vamos supor que tenhamos uma lista de itens e o usuário seja solicitado a escolher um deles. E esta é uma ótima maneira de usar a caixa de diálogo de edição de linha Q ou entrada dq, desculpe, neste caso. Então, o que vamos fazer é pedir ao usuário para entrar talvez na categoria. E, claro, vamos conectá-lo para entrar na categoria. E vamos criar a função, respectivamente. Então, inserimos a categoria. E nós vamos ter, desculpe, vamos ter categoria, ok? Como de costume. Então, categoria, ok. E vamos usar a caixa de diálogo de entrada Q. No entanto, vamos usar a função get item neste caso, e isso levará alguns parâmetros. Então, o primeiro será o título. Como de costume, sinto muito, o widget. E então temos o título. E, claro, vamos usar e, ou escolher uma categoria. E, em seguida, vamos adicionar uma lista de categorias. E, claro, vamos começar com isso aqui. Então, vou nomear categorias nesse caso. E talvez esse. E depois temos dois. Então por diante e assim por diante. Então talvez realmente, e agora vamos adicioná-lo aqui. Então, temos categorias e vamos ter o índice em 0. E vamos especificar ser falso, e vou explicar em um segundo. Mas, por enquanto, vamos simplesmente escrever F, ok? Se o usuário pressionar, tudo bem, vamos definir o texto da linha 1. Então, linha um, que setText. Tudo bem, então defina Texto para o que temos dentro da categoria. E estamos bem. Agora, se eu for em frente e executar isso aqui, e eu pressionar uma categoria Enter, vou conseguir algo assim. Escolhemos uma categoria. Se eu pressioná-lo, vou conseguir que um gato pegue três. E eu posso escolher entre eles. Agora, se eu mudar o índice aqui para, vamos supor que eu o tenha no índice para executar isso novamente, vamos conseguir algo assim, indicando que vamos começar com obter três em vez de gato um como antes. Agora, vamos seguir em frente e escolher uma categoria e pressionar. Certo? E como você pode ver, podemos vê-lo aqui, Categoria 2. Então é isso basicamente para o diálogo de entrada Q. Temos muitas outras entradas ou não outras funções. E uma função semelhante ao inteiro get é obter o dobro. Podemos ir em frente e implementá-lo, mas não acho que seja muito diferente do que apenas um inteiro. Podemos usá-lo, por exemplo, para escrever o salário deles. E podemos simplesmente implementar. E também podemos armazenar a entrada ou a entrada do usuário dentro da nossa linha uma edição. Então, temos muitos métodos. E esses são os mais importantes que você deve saber sobre a classe dq Input Dialog. Dito isso, este é o fim desta aula. Vejo você no próximo. 18. Diálogo com fonte: Olá e bem-vindo de volta. Neste vídeo, vamos falar sobre a classe de diálogo de fonte Q dentro do nosso sacrifício. Então deixe-me começar criando o diálogo de cupom aqui. E o que vamos fazer é simplesmente copiar tudo isso como de costume. E depois disso, vamos copiar o aplicativo, seguido pelo sistema da OMS que sai no final dele. Agora o que vamos fazer é começar, deixe-me fechar isso. E vamos começar criando alguns botões de pressão e o imposto real talvez que precisamos ter. Então, para fazer isso, o que vou começar é criar uma caixa de caixa QV. Vamos usá-lo em um minuto. Layout da caixa Q V. E então o que vamos fazer é criar um botão, um do botão q. E essa será a fonte. Então, selecione a fonte que você deseja usar. Por exemplo. Depois disso, o que vamos fazer é criar uma função que é chamada sempre que clicarmos neste botão. Então, vamos usar isso, coletar essa conexão a uma função. Vou nomear a fonte definida, certo? Então, vou criá-lo aqui. Então defina a fonte, e vamos lidar com isso mais tarde. Mas, por enquanto, vamos continuar com isso. Então, vou adicionar o widget. Então, vou adicionar botão queria uma caixa. E então nos sentamos, vamos simplesmente definir o layout do nosso widget para ser essa caixa real que temos. Agora, para continuar com nosso método de fonte definido que acabamos de criar, precisamos realmente usar o diálogo de fonte da fila que temos. E isso nos permitirá obter as informações da fonte do usuário. Então, antes disso, deixe-me apenas, digamos que queremos a fonte de algo. Então nós, para, poderíamos ter usado, por exemplo, a função de fonte definida que temos e podemos selecioná-la. Então deixe-me dar um exemplo aqui. Vou criar um rótulo. E será do rótulo Q. E dentro desse rótulo, vou ter, por exemplo, este é o primeiro rótulo. E depois disso, o que vou fazer é definir a fonte para permitir que eu precisasse de área e talvez 25 pixels. Agora, se seguirmos em frente e executá-lo, basta digitar o ponto de diálogo do cupom Python py. Vamos conseguir algo assim. E sempre que eu pressiono, nada acontecerá porque na verdade não criamos a função que temos. Então, deixe-me executá-lo novamente. Tudo bem, então temos um erro porque esquecemos de aqui uma fonte de fila. E agora devemos ser bons. E novamente, vamos conseguir algo assim. E como podemos ver, está tudo bem, mas na verdade não adicionamos isso em nossa caixa. Então deixe-me adicionar muito rápido. Então, adicione o widget e vamos usar o rótulo. E finalmente, se eu executá-lo de novo, vamos vê-lo. Este é o primeiro trabalho e está mudando claramente com a fonte que estamos colocando aqui. Então, por exemplo, se eu colocar 13 e executar, podemos ver que este é o primeiro rótulo agora é realmente menor do que antes. E porque isso ocorre porque estamos mudando a fonte, agora, diálogo Desenfileirar fonte nos permitirá fazê-lo sem ser, sem ter que usar a fonte definida dinamicamente, podemos permitir que o usuário escolha a fonte real. Então, vamos chamar essa função, essa é a fonte definida. E dentro dessa função vamos começar com isso na fonte. E tudo bem, a partir do diálogo do fundo de fila que temos e o diálogo por telefone de mesa. Não temos nada nele. E F, Ok, como de costume, vamos definir o rótulo que temos, que é rotulado como igual à frente do rótulo, para ser igual à fonte que acabamos de obter. Então, é basicamente agora que temos esse método. E agora, se eu for em frente e executar isso e esquecemos de adicionar o método get found. Então deixe-me rápido e agora longe, corra novamente e apresente isso. Vamos obter a fonte select. E isso permitirá que o usuário escolha entre todas as fontes diferentes que temos aqui. E o estilo de fonte, regular, velho ousado, e o tamanho também, sublinhamos tudo o que precisamos. Sistema de escrita, grego, todos os sistemas de escrita estão disponíveis. E é isso. Basicamente, é assim que podemos permitir o usuário escolha a fonte que o precisa. Agora, se pressionarmos, tudo bem, isso acontecerá e se eu pressionar, cancelar, ele cancelará toda a ação de fonte de configuração. Então é isso basicamente para a classe de telefone SAT. O diálogo de cupom que temos em Piketty cinco. Achei que é uma ótima classe que pode ser usada, especialmente quando precisamos que o usuário entre em um telefone específico. E usar esse método nos permitirá obter uma fonte real em vez de talvez alguns erros ou erros do usuário que possam ser cometidos. E aqui, ele sempre deve escolher uma e a fonte de estilo conciso. Podemos adicionar os efeitos, é claro, e ele sempre pode ver a saída antes. Finalmente, pressionando o botão OK. Então é isso. Basicamente, esta é a nossa classe direta de cupons. Temos alguns outros métodos nele, mas este é o mais justo, o mais importante que podemos usar e nossos cinco aplicativos Piketty a partir de agora. Dito isso, este é o fim deste vídeo. Vejo você no próximo. 19. Diálogo de arquivos: Olá e bem-vindo de volta. Neste vídeo, vamos discutir a classe de diálogo do arquivo de fila. Então, vamos seguir em frente e criar nosso script. Vou nomear arquivo de fila, diálogo, ponto py. E vou seguir em frente e copiar toda essa importação e depois o aplicativo. Então, finalmente, a saída e a execução do aplicativo. Agora, vamos começar com a construção uma caixa QV que vamos usar mais tarde. Então, vamos ter o layout da caixa QV. E isso nos ajudará, ou é aqui que vamos armazenar nossos diálogos de arquivos que vamos criar mais tarde em nosso aplicativo Piketty cinco. Então, vamos continuar adicionando alguns botões de pressão. Então, vou seguir em frente e escrever o Botão 1. Vai ser o botão q e talvez apenas escolha uma imagem. E agora o que vamos fazer é conectar isso a um método do qual vamos obter a imagem. Então, o ponto b21 clicou nessa conexão. E vamos conectá-lo para talvez obter imagem. E vamos criar uma função para obter a imagem do Sean, obter muito. E dentro disso, vamos usar nosso diálogo de arquivo de fila. Então, vamos obter o nome da imagem. E vamos usar a diálogo do arquivo de fila para extrair a imagem. Então, vamos ter o W como widget. E então vamos ter o talvez apenas anexar. E aqui precisamos adicionar nosso caminho. Então vou em frente e copiarei agora mesmo. Depois disso, precisamos indicar exatamente o tipo de imagens. Vou usar o PNG. Então, para fazer isso, você precisa escrevê-lo assim. E vamos fechá-lo. E isso é basicamente. Agora, o que podemos basicamente fazer é conseguir isso e talvez apenas copiá-lo em alguma forma de rótulo ou imagem que possamos criar mais tarde. Então, é assim que podemos usar a caixa de diálogo do arquivo de fila. Vamos continuar. Vamos copiar isso em um rótulo real que podemos ter no mar. Então, tendo o Botão 1, vamos criar o rótulo um, por exemplo. E será do tipo qrotulado. E talvez apenas isso seja um rótulo. E então o que vamos fazer é simplesmente adicioná-los à caixa que acabamos de criar um circuito para adicionar o widget Botão 1. E então vamos adicionar outro widget que seja o rotulado. E, claro, precisamos definir o layout da nossa janela. Bem, que tinham que ser as faíscas que acabamos de criar. Agora, vamos seguir em frente e executar isso antes de Lincoln para qualquer coisa. Então Q5, ponto de diálogo py. Podemos ver que conseguimos que este é um rótulo e temos que escolher uma imagem aqui. Então, agora, se eu pressionar isso, não podemos ver nada porque não usamos a função que é o intestino Abrir o nome do arquivo. E agora devemos ser bons. Se eu for em frente e executar isso de novo, vamos conseguir algo assim. E está aberto agora. Este é o nosso caminho e temos a saída e salvamos esse PNG. E isso é o que escolhemos um arquivo de correspondência ponto PNG. Agora o que vamos fazer é simplesmente obter essa imagem. Então, se eu escolher este, nada acontecerá porque eu apenas escolhi e salvei o nome da imagem e realmente não o usei. Agora, o que vou fazer é definir o rótulo um. Então, vamos definir o texto ou vamos definir o plasma porque esta é uma imagem e é assim que podemos configurá-la sempre que quisermos usar uma imagem. E vamos configurá-lo para o mapa de escolhas da fila do nome da imagem que acabamos de receber. Agora, se eu for em frente e executar isso de novo, vamos conseguir algo assim. Vou escolher essa imagem, por exemplo. E temos um árabe como nome de imagem como tupla. Então, vamos em frente e imprimi-lo. E se eu executar isso, e vamos tentar usar isso, podemos ver que é isso que estamos recebendo de volta. No entanto, só precisamos da primeira parte, que é bom nome em 0 neste caso. E acho que devemos ser bons. Vamos prosseguir e executá-lo novamente. E agora, se eu for em frente e escolher, tudo bem, então conseguimos aqui. Então esta é a nossa imagem que a mostra daqui. E toda vez que mudarmos ou escolhermos outra imagem, vamos conseguir o que queremos e ela será vendida em nosso rótulo. Agora, como podemos ver, já pré-definimos que só precisamos das fotos PNG. Vamos supor. Digitei, Ei aqui, JPEG e especifiquei que esse é o caminho que eu quero. Agora, se eu for em frente e executar esse código, não encontraremos nenhuma imagem aqui porque não temos imagens para o tipo de JPEG. Acabamos de ter o PNG dentro desta pasta. Assim, podemos ver o PNG porque o único arquivo permitido como JPEG. Então é isso basicamente para o processo de armazenamento de imagens. É assim que podemos escolher uma imagem e extraí-la, talvez usá-la em nossa torta, purificada ou fazer qualquer outra coisa com ela. Então é basicamente isso para a imagem. Vamos prosseguir e continuar com o arquivo de texto. Vamos supor que temos um arquivo TXT de ponto onde precisamos extrair algumas informações e mostrá-las em nosso aplicativo anterior 35. Então, vamos em frente e faça isso aqui. Vou apenas fazer isso comentado e vamos trabalhar a partir daqui. Agora em diante. Tudo bem, então vou criar o botão um. E vai ser um botão de pressão de cubo. E isso vai dizer, escolha um arquivo. Então o que vamos fazer é conectá-lo ao método que precisamos. E o que é tributado pela GET pode ser. E agora o que vamos fazer é simplesmente adicionar isso na caixa. Então, vamos adicionar widget. E este é o Botão 1. E também vamos adicionar o conteúdo, que é basicamente você pode fazer isso também um rótulo. Portanto, o rótulo um será do rótulo Q. E talvez você comece com isso como um rótulo e também adicione-o à caixa. E então vamos definir o layout para ser essa caixa. Agora, vamos criar a função que é o intestino. A próxima função. Agora, dentro dessa função, o que vamos fazer é extrair as informações do arquivo de texto. E vamos usar a caixa de diálogo do arquivo de fila como antes. Então deixe-me ir em frente e fechar isso. Vamos começar criando a caixa de diálogo de arquivos. Então, talvez eu vá nomear o arquivo que se parece com este. E será do tipo q Caixa de diálogo Arquivo. E então o que vamos fazer é definir o modo de arquivo para qualquer arquivo. Então, diálogo de arquivo que define o modo de arquivo. E isso nos permitirá definir o modo de arquivo como qualquer phi que tenhamos. Isso não importa. Então, vamos usar qualquer função de arquivo da caixa de diálogo Q5. Então o que vamos fazer é filtrar todos os arquivos apenas para ter o TXT. Então, vamos usar o filtro de conjunto de pontos de diálogo Arquivo. E então vamos usar arquivos de texto para ser apenas este, dxdy. E agora o que vamos fazer é simplesmente colocá-los em uma string e apenas abrir o arquivo, ler os dados dele e, em seguida, talvez definir o texto do nosso rótulo os dados que vamos extrair do arquivo. Tudo bem, então para fazer isso, o que vamos começar é que talvez eu vá nomeá-los arquivos. E esse diálogo será definido que selecionou os arquivos. Então, isso extrairá todos os arquivos que temos. E então o que vamos fazer é abrir talvez o primeiro arquivo, já que só precisamos de um deles. Então, vamos abrir os arquivos em 0 e vamos ler. Tudo bem, então agora o que vamos fazer é usar isso e definir o texto do rótulo como dados que vamos ler. Então, vamos ter defiles e lista de strings. Portanto, antes de obter os arquivos selecionados, quando vou fazer é criar um modelo de lista de seqüências de filas. E isso nos permitirá armazenar todos os arquivos em uma lista de fontes de força. E então o que vamos fazer é simplesmente abri-los e obter o primeiro e depois ler os dados dele. Agora, o que vamos fazer é simplesmente usá-lo e armazenar os dados daqui dentro do rótulo um. Então, o texto de conjunto de pontos de nível 1 nessa raça. E isso nos permitirá ler os dados e obter tudo daqui e definir dentro desse rótulo. Agora o que vamos fazer é executar isso e verificar. Então, vou ter que executá-lo aqui. Escolha um arquivo. Tudo bem, então temos um erro dizendo que isso, tudo bem, então precisamos usar um filtro setName. Porque esta era a versão mais antiga. Executá-lo novamente, escolha um arquivo. E temos índice de lista fora do intervalo. E isso ocorre porque a abertura de arquivos pode ser muito lenta. Os arquivos selecionados a serem procurados dentro dessa lista de strings são, podem ser muito lentos. Então, vamos executar um loop de eventos usando apenas o ponto de diálogo Arquivo executar. E isso nos permitirá esperar até que obtenhamos o arquivo e, em seguida, podemos continuar. Então isso é basicamente e, claro, isso também deve estar dentro deste. Tudo bem, então acho que estamos bem agora, se seguirmos em frente e tentarmos executar isso de novo, vamos ver algo assim. Se eu escolher um arquivo, ele se abrirá. E se eu pressionar isso e abrir este arquivo, vou vê-lo aqui. Este é o primeiro arquivo, file.txt hello world. E essas são exatamente a mesma coisa que escrevemos e nosso file.txt aqui. Então é isso. Basicamente, é assim que podemos extrair de um arquivo usando um método simples, ou seja, a classe de diálogo do arquivo de fila. E, e o que fizemos exatamente é apenas criar um botão. E sempre que pressionarmos isso, isso nos permitirá usar essa função GetText. E dentro dessa função getText, criamos a caixa de diálogo de arquivos. E especificamos que podemos pegar qualquer arquivo, então apenas filtramos em ponto TXT. E então, quando obtivemos esse arquivo, criamos um modelo de lista de strings onde vamos armazenar todos os nomes de arquivos. E então o que realmente fizemos foi obter esses arquivos e armazená-los dentro de nossos arquivos a partir do dialeto de arquivos e abrir o primeiro na lista. E, claro, depois disso, acabamos de obter os dados desse arquivo usando o método lido e definimos o rótulo esses dados que acabamos de extrair. Então é isso basicamente para esse arquivo de fila, é classe direta. Essa é uma classe muito poderosa na pica 35. Com isso dito, este é o fim disso. Vejo você no próximo vídeo. 20. Table: Olá e bem-vindo de volta. Neste vídeo, vamos falar sobre classe da guia Fila. E deixe-me ir em frente e criar nossa função, nosso script aqui. Então, vamos nomear a fila. Agora pi. Então vamos começar importando tudo o que temos de scripts anteriores. Então, vou fazer isso. E então vamos adotar os critérios AP. E, finalmente, derruba. Agora, o que vamos fazer é realmente usar o widget da guia Fila em vez do widget real. E isso é algo que usamos sempre que precisamos ter um top e nosso aplicativo. Agora, o que vamos fazer é criar algumas guias. Então, vou criar duas guias. O primeiro será nomeado T1 e, em seguida, o segundo será T2. E ambos são do widget Fila de classe. E então o que vamos fazer é apenas adicionar essas guias ao nosso widget de guia de filas. Então w ponto adicionar guia indo para T1 e T2. E agora, se formos em frente e quisermos visualizar isso, podemos simplesmente fazê-lo finalmente. Deixe-me ir aqui e executar este ponto Python py. Tudo bem, então temos um erro porque no widget de autocuidado, um STR. Então, vamos ouvir o nome, que é basicamente toque em 1. E aqui vamos adicionar essa coisa. Agora estamos bem. Vamos em frente e de novo. E como você pode ver, temos TB1 em dois e podemos alternar entre eles. Agora, dentro dessas guias, podemos fazer o que quisermos. Mas, por exemplo, talvez adicionaremos FirstName e LastName com alguma linha onde o usuário possa adicionar algumas coisas. E para fazer isso, vamos simplesmente usar a função. Então deixe-me criar aqui. Portanto, essa função será nomeada tab1. Então T1 ou talvez TB1. O bem do argumento. E o que vamos fazer é simplesmente criar um formulário que será q para layout. E então o que vamos fazer a seguir é adicionar talvez FirstName e LastName com um Cula e editar. Então, vou precisar criar talvez um rótulo. Então, vou nomeá-lo com o nome de um. Ele será do rótulo Q. E vou escrever o primeiro nome. Em seguida, temos edição de linha Q. E vamos nomeá-lo de Linha 1. Será a linha Q nela como esta. E então vamos adicioná-los a uma linha em que identificamos 1 e linha 1. E então vamos fazer exatamente a mesma coisa para o sobrenome. Então q rotulado sobrenome. E então temos linha para isso será do tipo q line edit, como de costume. E o pó acabou de ser adicionado ao formulário que acabamos de criar. Então, rotule para a linha 2. Acho que agora estamos bem. Podemos simplesmente adicioná-los ao nosso layout. Então, como podemos ver, isso é para a guia um. Então, o que precisamos fazer agora é usar são adicionados ao t1. Então t1, isso, e vamos usar o layout definido para ser esse formulário que acabamos de criar. Agora, se formos em frente e executarmos isso, vamos ver algo assim. Nós temos. Aqui estão algumas coisas. No entanto, não podemos realmente visualizar isso porque realmente não chamamos a função. Então, vou chamá-lo aqui. Agora, vamos correr novamente. E como você pode ver, temos nosso FirstName, LastName, onde o usuário pode inserir as informações aqui. E podemos fazer exatamente a mesma coisa aqui. Talvez possamos adicionar botões de opção q, caixas de seleção, talvez alguma entrada de arquivo ou qualquer coisa que quisermos ou precisamos. Então é isso basicamente para esta função IF fofa. Se você estiver interessado em talvez implementar uma guia extra aqui, vou continuar talvez adicionando algumas categorias que o usuário pode escolher. Talvez alguma caixa de seleção de fila, digamos. E é isso para a guia. Se você estiver interessado, você pode continuar comigo com o estúdio. Então agora para a tab2, quando vou fazer é criar outra função aqui, o AP2. E dentro dessa função, também vou criar outro layout de formulário. E talvez vamos mudar da fórmula e eu vou criar um layout de caixa QH. Então, vou nomear livros do tipo layout de caixa QH. E vamos adicionar os rótulos. Então, vamos supor que eu tenha um rótulo um para a categoria um. Portanto, seria do tipo q rotulado Categoria 1 e, em seguida, rotularia dois para a categoria dois. E, finalmente, trabalho 34, categoria 3. Tudo bem, então agora estamos bem. O que precisamos fazer agora é simplesmente adicioná-los à nossa caixa. Então, no widget, vamos adicionar o rótulo um e, em seguida, vamos adicionar o rótulo 2. E, finalmente, vamos adicionar mão de obra 3. Agora, como antes, vamos definir o layout da nossa segunda guia para essa caixa real. E precisamos somar e chamá-lo para apenas gerar essa função. Agora, temos esses três rótulos. Podemos alterá-los, na verdade, para a caixa de seleção, por exemplo. Então, se eu quiser visualizar, caixa de seleção terá que fazer isso assim. E agora, se eu for em frente e executar isso, vamos conseguir algo assim. Temos que ter um dos presentes para conseguir isso. E eu posso escolher. Algumas das caixas de texto são caixas de seleção que temos. E isso tudo está usando algumas guias para que possamos alternar entre elas e elas estão. Para cada guia, temos diferentes propósitos e métodos diferentes que podem ser gerados e você trabalha com. Então é isso basicamente para o corte mais codifica NPi. Este é o fim desta aula. Temos muitos métodos que podemos usar e esses são os mais importantes. Agora, a última coisa que vou mostrar nesta classe é o método alterado atual. Isso nos permitirá saber sempre que alterarmos o índice ou sempre que alterarmos uma guia para outra guia. Então, vou fazer é apenas usá-lo. Então, sempre que tivermos a corrente alterada, vamos conectá-la a um método ou a uma guia alterada. Agora, se formos em frente e criarmos uma função chamada Tab alterada, vamos imprimi-la. Nós mudamos os aplicativos agora. Então, agora, se eu for em frente e executar isso novamente, e se eu mudar daqui para aqui, podemos ver que cada vez eu mudar ou alternar entre as guias, vou conseguir que mudamos os aplicativos agora. Agora também temos outra função que é obter o índice atual. Então, uma maneira de realmente obtê-lo é simplesmente usá-lo aqui. Então, mudamos as guias agora. Dois e mais, vamos usar o top ou W, esse índice atual. E isso nos permitirá obter o índice atual que temos. E se eu executar isso, certo, então precisamos concatená-lo em uma string. Execute novamente. Assim, podemos ver que conseguimos isso e estamos no índice 0. Se eu passar para o índice 1, 0, 1, 0, 1 e assim por diante. Agora também podemos ter o índice atual e podemos configurá-lo antes de iniciar o processo. E podemos usar esse índice atual definido que especifiquei para ser um para acessar, já que só temos duas guias, isso está no índice 0 e está no índice um. Então, vamos correr novamente. E como você pode ver, começamos na Tab um agora, e sinto muito, até o qual está no índice um. E podemos nos mover para frente e para trás. As etapas, é isso basicamente para os fofos, temos muitos métodos que você pode usar, como o widget atual definido, removido, guia Inserir e definir essa posição talvez logo acima da página, à esquerda da página, abaixo da página dessas funções pode ser útil para você, dependendo do caso. Mas esses são os mais importantes que você precisa saber antes de começar com algum aplicativo Piketty cinco. Então é isso basicamente para o q tau plus. Com isso dito, este é o fim deste vídeo. Vejo você no próximo. 21. Pilha: Olá e seja bem-vindo de volta. Neste vídeo, vamos falar sobre a classe de pilha de cue. E vamos seguir em frente e criar nosso arquivo. Vou nomear a pilha Q à parte. E como antes, vamos simplesmente copiar isso e alguns deles daqui. E então vamos mostrar a janela e sair do sistema. Então, dito isso basicamente para um aplicativo básico por 35 agora vamos começar com a construção da pilha que queremos. Agora, para fazer isso, precisamos usar a pilha dq, qual classe temos. Então, vou nomear a pilha. E será o widget empilhado Q. E essa será a pilha principal que precisamos criar. Agora, o que vamos fazer é simplesmente mudar isso de Q com seu orçamento para o orçamento do segundo trimestre. E, claro, vamos precisar criar várias pilhas e adicioná-las a criar várias pilhas e este widget de pilha Q e, em seguida, mostrar-lhes uma janela de horas. Então, para fazer isso, vou criar um S1, que é um widget Q. E então S2, outra chave que ele. E eu acho que isso é o suficiente. Agora, o que vamos fazer é adicionar isso ao nosso widget de pilha. E para fazer isso, podemos simplesmente usar aqui pilha que adiciona widget. E vamos adicionar S1. Em seguida, vamos adicionar S2. E depois disso, vamos criar talvez apenas algum tipo de layout e simplesmente colocar os switches nele. Então, vou criar uma caixa horizontal. Vou nomear a caixa Q H layout da caixa. E então vamos adicionar a pilha nessa caixa usando os bugs que adicionam o widget. E vamos adicionar pilha. E, finalmente, vamos definir o layout da nossa janela para ser a caixa que acabamos de criar. Agora vamos seguir em frente e executar isso. Vou executar o polvo estrela Python q. Certo? Então, temos um erro. E isso é porque não adicionamos aqui. Agora acho que estamos bem. Vamos correr novamente. E temos nossos widgets. Agora, o que realmente precisamos fazer é simplesmente adicionar algumas informações a eles. Então, vamos criar algumas pilhas ou algumas funções que nos permitirão adicionar algumas informações a este SASA que acabamos de criar. Então, vamos seguir em frente e fazê-lo. Bem aqui. Vou criar a função que é para a pilha um. E nesta função, vou apenas criar um formulário, você forma layout. E então o que vamos fazer é adicionar o FirstName e o LastName, assim como fizemos para os dados do DQ. Portanto, o primeiro nome será do rótulo Q. E isso será apenas nome ou talvez FirstName. E então teremos o LastName, que é o rótulo Q. Deixe-me excluir esse igual daqui. Portanto, este rótulo ACU para o sobrenome. E então nós temos a linha nisso. Portanto, a linha 1 será igual a q linha Edit. E então a linha dois também será igual a outra linha Q Edit. E então o que vamos fazer é adicioná-los ao formulário em uma espécie de linha. Temos FirstName com sua linha correspondente, que Islam um, e depois outra linha com o sobrenome mais a linha 2. E chegamos agora. Então é isso. Basicamente, esta é a nossa forma. Agora, o que precisamos fazer é simplesmente definir o atraso do nosso primeiro passo para ser isso, certo? Então, fazemos isso simplesmente adicionando layout do conjunto de pontos s1 para ser este formulário que acabamos de criar. Então agora isso é para a pilha um. Podemos fazer exatamente o mesmo para o stat antes de tentar exibi-lo. Então, temos pessoal aqui. E talvez deixe-me copiar o mesmo código e mudar algumas linhas por aqui. Então, vou pegar isso e colocá-lo aqui. E o que vamos fazer é simplesmente mudar o layout do S2. E isso, por exemplo, seremos o primeiro segundo, apenas para alterar nomes, para saber que mudamos as pilhas sempre que apenas executarmos esse código. Agora, se seguirmos em frente e executarmos isso, como podemos ver, podemos ver qualquer coisa por enquanto, porque não adicionamos nenhuma lista que nos permita alternar pseudocódigo entre essas tags. E uma maneira de fazer isso é simplesmente usar o widget de lista de sugestões. E esta será uma lista à esquerda da tela onde você pode alternar entre as pilhas e escolher uma delas. Então, vamos prosseguir e implementá-lo. Então, depois de criar os widgets, mas podemos realmente fazer é criar uma lista de tipo cue, list widget. E essa lista nos permitirá ter algumas coisas aqui. Podemos inserir o item. E este item estará no índice 0, e vou nomeá-lo preso a um. E então vamos inserir outro item. E isso deve estar no índice 12 será empilhado dois. E agora, depois de inseri-los, o que realmente vamos fazer é simplesmente adicionar isso em nossa caixa que eu acabaria de criar. Então, antes de adicionar a pilha de widgets, vamos adicionar aqui a lista real que acabamos de criar. Agora, vamos seguir em frente e executar isso. E vamos ver algo assim. Nós temos preso um e passo dois e podemos alternar entre eles. Mas não podemos apenas ver a pilha real que acabamos de criar ainda. E isso é porque na verdade não chamamos essas funções aqui. Então deixe-me ir em frente e fazê-lo depois de criar a lista. E podemos fazer isso aqui, por exemplo. Vou fazer a pilha um. E então vamos usar a pilha dois. E agora vamos seguir em frente e executar isso novamente. E podemos ver que temos nossa pilha. Temos pilha um, que é para FirstName e LastName. Então temos pilha dois. E, claro, nada acontecerá por enquanto, porque na verdade não alternamos ou alteramos nada sempre que pressionamos no local ou desempilhamos um. E precisamos fazer uma função que faça isso funcionar para nós aqui. Então, como fazemos isso? Podemos simplesmente usar o método alterado de linha atual que acabamos de ter. E isso nos permitirá alternar entre os impostos, essas pilhas que acabamos de criar. E para fazer isso, vamos dizer isso sempre que tivermos algo da lista. Então, se a lista disso, e nós vamos usar aqui disfunção linha atual mudou. Vamos conectá-lo a uma função que togas ou altera a pilha real. Vamos nomear a pilha mudando. E vamos criar o gravador de funções. Claro, troca de pilha. E isso nos permitirá alternar entre as diferentes pilhas que temos. E neste caso, o que vamos fazer é simplesmente adicionar pilha, o estilo que acabamos de criar a partir daqui. E vamos definir o índice atual para o índice que vamos obter deste aqui. Então, para obter o índice que temos da lista, podemos usar simplesmente listar a linha atual do ponto. E chegamos agora, então se eu for em frente e executar isso de novo, vamos conseguir algo assim. Então, estamos presos. Um, se eu pressionar o passo dois, vamos mudar. Portanto, temos pilha um, FirstName, LastName, stack para primeiro. Segundo, como podemos ver, alternamos entre essas tarefas usando essa lista. Então deixe-me ir em frente e fazer uma recapitulação rápida aqui. Então, o que você criou pela primeira vez, As pilhas que acabamos de ter, empilhe um e o passo dois. Em seguida, criamos um widget de lista de sugestões. Adicione-os a ele, indicando que esta é a pilha um e isso é dois. E então, sempre que pressionamos qualquer um desses na lista, nós, o que acabamos de fazer para chamar essa função que é empilhada mudando e, em seguida, obtemos o índice no qual estamos na lista. Por exemplo, aqui estamos no índice 0. Então vamos para Stat mudando e definimos a pilha que acabamos de criar, que está aqui, onde adicionamos nosso S1 e S2 e alteramos o índice de acordo. Então, se você estiver no índice 0 na pilha, teremos aqui da pilha as informações da pilha um que está no índice 0. Então, se mudarmos essa lista para o índice um, que é empilhado dois, vamos obter o que temos dentro da pilha no índice um, que é na verdade essa pilha para a qual acabamos de criar. Então é isso. Basicamente, é assim que podemos alternar entre pilhas. Você pode fazer muitas coisas com eles. E este é basicamente o layout básico que podemos criar usando o DQ sta, que na medida em que modificamos no Pike. Então é isso basicamente para este vídeo. Vejo você no próximo. 22. Divisor: Olá e seja bem-vindo de volta. Neste vídeo, vamos passar pela classe splitter no arquivo Python. É uma classe simples, mas avançada, ou nós temos. Então, vamos em frente e criamos para dividir Q da torta. E o que vamos fazer é, como de costume, vamos copiar as imputações. E então vamos criar o aplicativo e simplesmente mostrá-lo e apenas executar o aplicativo. Agora, o que podemos fazer é realmente criar algumas coisas. Então, vou criar talvez dois ou três adultos de linha q onde temos ou talvez apenas criar um crédito fiscal. Então deixe-me ir em frente e fazer isso aqui. Então, vamos ter um T1 para têxtil para texto editar uma edição de texto do tipo q. E podemos definir texto para isso como T1. Em seguida, teremos T2, que também é edição de texto Q. E vou definir o texto para isso como T2. E, finalmente, T3, que também são textos Q adicionados. E isso será isso como T3. Tudo bem, então agora estamos bem. Temos todas as nossas edições de texto. E o que vamos usar é um divisor de filas. Este divisor Q realmente será aquele que corta a janela no que quisermos. Então, temos duas coisas. Pode ser horizontal ou vertical. Então deixe-me demonstrar e o exemplo, vou nomeá-lo como um indicando esse divisor, um vai usar q divisor, e vou usar q t ponto horizontal para dividir nossa janela horizontalmente. Agora, o que vamos fazer é adicionar widgets neste divisor. Então s1 dot adicione widget. Vou adicionar t1 e depois vou adicionar 32. Então s1 ponto ADD t2. E então o que vamos fazer é simplesmente definir o layout disso para estar dentro da nossa janela. E para fazer isso, precisamos de um salame de caixa. Basta ir em frente e criar um muito rápido aqui. Vou usar uma caixa horizontal para isso. Então o QH estaciona, e esta será a nossa caixa e vamos simplesmente adicioná-la usando o widget Adicionar. Então, adicione o widget. E vamos adicionar um cisne. E então vamos mostrar ou definir o layout da nossa janela para ser os raios que acabamos de criar? Agora, se seguirmos em frente e executarmos isso. Então divisor Q, sem torta. Ou chegar em algo assim. Temos isso como T1 e T2. E como você pode ver, são divididos pela metade porque usamos o divisor horizontalmente. Agora, como podemos ver, só temos esses dois por enquanto. Não adicionamos esse D3 e a nenhum desses. Agora o que vamos fazer é 2. Basta adicionar talvez outro T4. Isso é um fofo animado também. E então vamos defini-lo para ser isso é T4. E o que vamos fazer agora é criar outra camada que também seja horizontal. Então, vou nomeá-lo divisor de Q. E isso nos permitirá ter QT também ponto horizontal. E agora o que também podemos fazer é adicionar esses widgets. Então t3, e vou adicionar t4 a ele. E então vamos adicioná-lo à nossa caixa. Então, se adicionarmos critérios, então adicione o widget e vamos adicionar dois a ele. Agora, se seguirmos em frente e executarmos isso novamente, podemos ver que obtemos vários widgets ou várias auditorias fiscais apenas horizontalmente, elas se quebram. Agora, o que podemos realmente fazer é pegar esses dois e colocá-los aqui em baixo. Então, em vez de tê-los todos esses quatro na mesma sonda, podemos realmente ter T1, T2, T3 e T4 aqui. E uma maneira de fazer isso é usá-los melhor verticalmente. Então, o que vou fazer aqui é usar o S2 para ser a guia divisor que vamos criar ou talvez o S3. Deixe-me criar outro spinner. E isso será q t ponto vertical. E isso nos permitirá armazenar o primeiro melhor e depois o segundo sputter um sobre o outro. Então, vou adicionar a isso. Então, vou adicionar widget e adicionar um cisne. E vou adicionar S2. Agora, em vez de adicionar esses switches S1 e S2 à caixa, vamos simplesmente adicionar o S3 que acabamos de criar. Então, coloque isso, adicione widget e adicione S3. Agora deixe-me fechar isso e executá-lo novamente. Podemos ver agora que temos nossos quatro adultos fiscais e eles são mais bonitos do que os anteriores. Então, o que realmente fizemos é que criamos três sputters. O primeiro é horizontal para adicionar T1 e T2. E desta forma temos T1 e T2, eles são horizontais. E então temos outro sputter pedido para adicionar T3 e T4 como podemos ver. E depois disso, usamos um sputter vertical para adicionar S1 e S2. E lembre-se que t1 e t2 se formam como um, T3 e T4 forma como dois. Então, temos T1, que é isso aqui. E temos sobre o que também tem isso. E nós os adicionamos verticalmente usando o divisor S3. E então o que realmente fizemos é que adicionamos todo o sputter S3 na caixa ou acabamos de criar. Tudo bem, então esta é a classe de widget QRS Player e pi 35, é simplesmente avançada. Você pode fazer muitas coisas com ele. Talvez você possa alterar esses créditos fiscais e para qualquer coisa que você quiser. E é uma função muito poderosa que você pode usar e será um ótimo mais 2 dos cinco aplicativos Piketty que vamos criar mais tarde. Então, com isso dito, este é o fim da classe de jogadores inclinados. Vejo você no próximo vídeo. 23. Dock: Olá e bem-vindo de volta. Neste vídeo, vamos falar sobre a classe Q dot que temos, n pi 35. Então, vamos prosseguir e iniciar nosso aplicativo. Vou criar um aplicativo Q, sys.path, RGB como de costume. Então eu vou criar uma janela principal da fila e emitir w. E então o que vou fazer é simplesmente mostrá-la. E depois disso, vou sair do sistema executando o aplicativo. Agora, o que vamos fazer é criar talvez alguns tipos de bugs. Vou simplesmente criar uma caixa QH por enquanto. E então o que vou fazer agora é talvez uma barra de menus apenas para mostrar uma tela com elementos simples ou básicos. Então, vou nomear a barra de menus MB, e isso será w.menu bar como de costume. Agora o que vamos fazer é adicionar algumas coisas a ele para. Então, por exemplo, vou adicionar primeiro. Dois serão Mp que adiciona menu. E isso será o primeiro. E então temos o segundo e o B.me, segundo. Agora, se quisermos ver isso, o que podemos realmente fazer é simplesmente adicionar essa barra de menus ao layout real ou na janela real que temos. Então, faça isso, podemos simplesmente adicioná-lo, deixe-me adicionar o layout aqui. E observe que realmente não precisamos disso por enquanto, porque criamos a barra de menus a partir da janela. Por exemplo, se eu for em frente e tentar aqui e executar isso, vou conseguir algo assim. Um espelho em Python, q doc. Tudo bem, então temos primeiro, segundo e tudo mais. Parece bom. Agora, vamos fechar isso e tentar novamente. Tudo bem, então este é o nosso aplicativo por enquanto. Agora, o que vamos fazer é criar um widget de pato de fila. Então, vou seguir em frente e criá-lo aqui. Vou chamá-lo de pato. Será do widget de pato da fila de classe. E vou chamá-lo de seu médico por simplicidade. Portanto, este é o nosso widget CUDA Tk. Agora, o que vamos fazer a seguir é talvez criar uma lista de widgets e adicionar alguns itens a eles. Por exemplo, podemos criar uma lista. Vou nomear a lista, o widget Q mais legal. E isso nos permitirá simplesmente adicionar alguns itens a ele. Então listado Adicionar item, vai nomeá-lo um, lista, item dois. E finalmente ajustado adicionar item. E este é o item três. E, finalmente, o último será quatro, então temos quatro itens. Agora, o que vamos fazer é simplesmente definir o widget do nosso widget de doca para ser essa lista real que acabamos de criar. Então, para fazer isso, podemos simplesmente definir o widget e vamos definir o orçamento como a lista real que acabamos de criar. E depois disso, deixe-me executar isso de novo. Vamos fechar. Tudo bem, então temos o layout da fila e não tínhamos o dock de fila. E isso ocorre porque não adicionamos isso na tela. Então, uma maneira de fazer isso, podemos simplesmente adicioná-lo usando w que add doc widget. E podemos realmente especificar sua posição. Portanto, temos a área do widget do documento esquerdo, ponto de documento direito, superior, inferior do documento e não ocorre. Então, talvez iremos com o documento esquerdo, qual área de TI neste caso. E isso nos permitirá obter, tudo bem, para que possamos simplesmente pressionar Q, t e, em seguida, a área do widget do documento à esquerda. Tudo bem, então estamos bem agora temos nossa área e vamos adicionar os critérios escuros que acabamos de criar. E depois disso, podemos simplesmente executar nosso código novamente. E como podemos ver, temos nosso ponto q aqui. Temos nossos itens. Agora, se eu pressioná-lo ou clicar duas vezes nele, posso movê-lo para longe da tela. E se eu clicar duas vezes nele novamente, vou recuperá-lo. E nossa tela. Agora, como você pode ver, porque não tínhamos mais nada em nossa área, mesmo que especifiquemos que ele deveria estar no lado esquerdo, ele pegou toda a tela e isso é porque não temos mais nada para mostrar. Então, se formos em frente e talvez um complemento, qualquer coisa aqui, vamos supor que eu queira ataques Editar. Então eu posso ir em frente e adicioná-lo e ele aparecerá, e isso chegará ao lado esquerdo da área. Agora temos algumas outras funções. E um deles são os recursos definidos. E isso é para definir o recurso da janela de encaixe. Podemos torná-lo fechável, móvel, flutuável. E nós temos a barra de título vertical do widget doc. E também temos o documento sem qual AT apresenta. E isso nos permitirá não ter recursos e nosso documento por enquanto. E isso é basicamente isso é quatro, é para a classe Q dot e Piketty cinco. É uma ótima classe para usar, especialmente quando precisamos mover alguns cães e talvez criar várias telas que podem se mover e fazer qualquer coisa com eles. Então é isso basicamente para este vídeo. Vejo você no próximo. 24. Barra de rolagem: Tudo bem, então neste vídeo vamos discutir a classe da barra de rolagem da fila e Pi purificado. Então, vamos em frente e criados, vamos criar um script name cuz scroll bar pie. E no script vamos importar tudo o que temos aqui. E, em seguida, simplesmente crie o aplicativo usando um aplicativo de sinalização simples. E vamos mudar a janela principal para uma fila, que por enquanto. E, claro, vamos mostrá-lo e sair do sistema executando o aplicativo. Tudo bem, então agora estamos bem. Podemos começar com nosso aplicativo principal para que eu vou fazer é simplesmente criar uma fila VBox. Então, vou ter o layout Q vBox. E dentro desta caixa teremos algumas coisas. Então, a primeira coisa que vou fazer é talvez criar uma barra de rolagem simples que podemos ver. Então, vamos criá-lo. Vou nomear uma barra de rolagem. E será do tipo barra de rolagem. E estamos bem. Agora, o que vamos fazer é simplesmente adicioná-lo à caixa que tínhamos. Então, item de adição de ponto de caixa. E vou adicionar essa velocidade a ela. E, claro, depois disso, vamos simplesmente definir o layout da nossa janela para ser essa soma recém-criada. Certo? Então deixe-me ir em frente e executar isso só para ter uma ideia de onde construímos. Diga agora que sim. Podemos ver que temos nossa barra de rolagem aqui. E agora, se aumentarmos, podemos aumentar o comprimento dele aqui. Então deixe-me definir a geometria da janela em 500s. E isso está tentando novamente. E vamos conseguir algo assim. Tudo bem, então agora temos duas funções que podemos usar e esta classe de pé de cabra de suco, a primeira é o controle deslizante movido e a segunda é o valor alterado. E geralmente usamos o controle deslizante movido sempre que queremos saber se eles usam no slide. Por outro lado, o valor alterado geralmente é usado se quisermos saber se o valor das barras de rolagem mudou. Então, em outras palavras, se quisermos saber sempre que o valor está mudando, mesmo que o usuário ainda não tenha liberado o controle deslizante. Precisamos usar o controle deslizante movido e desvalorizado é sempre que o usuário realmente libera o controle deslizante. Então, vamos prosseguir e implementar algumas das funções. Por exemplo, vamos começar com o controle deslizante movido. E neste caso, deixe-me usá-lo aqui. Movido. E neste caso, vamos conectá-lo a uma função que é o Slider Mover. E vou criá-lo aqui. Então, controle deslizante se movendo e vamos simplesmente imprimir o valor do nosso intervalo. Tudo bem, então temos aqui o controle deslizante em movimento. E neste caso, podemos realmente retornar o controle deslizante que temos e simplesmente imprimir seu valor. Nós realmente não precisamos lidar com aqui, mas podemos fazê-lo. Vou imprimir aqui Sb esse valor. E agora, se formos em frente e executarmos isso, vamos pegar nosso controle deslizante ou barra de rolagem. E neste caso, sempre que eu pressioná-lo e movê-lo, vou conseguir isso aqui, mesmo não tendo liberado ainda. E temos todos os valores de 0 a 100 porque é o padrão. Sempre podemos mudá-lo. Nosso definiu o máximo, mínimo de acordo com nossas necessidades. Mas, por enquanto, esse é o método movido do controle deslizante. Agora vamos em frente e talvez use o valor alterado. Então, vou tentar que a mudança de valores se conecta e talvez a mudança de valor. E neste caso, vou criar uma função chamada valor mudando aqui. E simplesmente imprima o valor da barra de rolagem que temos. E se seguirmos em frente e executarmos isso de novo, veremos que ele tem exatamente o mesmo que o anterior. E é isso basicamente, é isso. Se eu for em frente e executar isso de novo, para este, veremos que ele tem exatamente o mesmo que dissemos. E vamos obter os valores sempre que mudarmos ou sempre que rolarmos usando essa barra de rolagem que temos. Então é isso. Basicamente, esta é uma das classes mais importantes e 35, porque permite que você faça várias coisas, pode ser apenas arrastá-las e que o usuário escolha e troque, por exemplo, qualquer coisa. Portanto, ele tem muitos usos e é muito poderoso. Com isso dito, este é o fim desta aula. E vejo você no próximo vídeo. 25. Barra de status: Olá e bem-vindo de volta. Neste vídeo, discutiremos o status da fila por classe no Python 35. Então, vamos começar nosso aplicativo usando o aplicativo Q como de costume. E então vamos criar nossa janela. Devemos ser uma janela principal q. E, claro, vamos mostrá-lo e executar o aplicativo. Mas sair antes. Tudo bem, então estamos bem agora podemos começar com nosso aplicativo. O que vamos fazer é começar com algo simples como antes, vamos criar uma barra de menus. Assim, podemos criar uma barra de menus a partir da janela que acabamos de ter. E o que vamos fazer é simplesmente adicionar algum menu a ele. Então, vou adicionar o menu primeiro e talvez segundo. E vou adicionar algumas ações a isso primeiro, então vou nomeá-la primeiro aqui. Então eu posso acessá-lo mais tarde. E aqui posso acessá-lo usando a ação Adicionar. Vou adicionar, talvez, eu não sei, talvez adicionar texto e eu vou excluir texto. Então, essas são as ações que temos em nossa barra de menus. Portanto, temos ataques ou excluímos texto. E o que vamos fazer agora é criar uma barra de status de fila onde podemos mostrar esse texto ou não em uma edição de texto ou edição alinhada que podemos criar. Então, vamos seguir em frente e fazer isso. E o que vamos basicamente fazer é criar uma barra de status como B e deve ser uma barra de status aguda como esta. E o que vamos fazer é simplesmente definir a janela para ser a barra de status. Então defina a barra de status como controladora de armazenamento. Tudo bem, então agora estamos bem. Temos nossa barra de status. No entanto, precisamos de um método para acioná-lo. E esse método será, na verdade, sempre pressionarmos algo que está neste primeiro. Então, nós primeiro acionamos e temos uma ação de fila aqui. Então, sempre que clicarmos em algo neste primeiro, vamos conectá-lo a uma função que vamos criar e que faz o trabalho para nós. E neste caso, vou nomeá-lo. Que possamos primeiro coletar. Tudo bem, para que possamos criar nossa função aqui. Clique pela primeira vez. E nós imprimimos olá por enquanto, só para observar que está funcionando, Ashley. Então, se eu for em frente agora e executar isso, vou conseguir algo assim. E sempre que eu pressiono ataques ou um imposto D, vamos receber olá e ambos. Então, é basicamente por enquanto, para o presente segundo ou primeiro, nada acontecerá. No entanto, se eu pressionar essas ações que temos aqui, vamos ser impressas. Olá. Agora, o que vamos fazer na verdade é talvez adicionar uma edição de texto. E nesta edição de texto, podemos simplesmente adicionar um texto ou excluído de acordo com essas ações que temos para TI. Então, para fazer isso, podemos realmente definir o imposto adicionado na janela real que temos. Então, temos w. E vou seguir em frente e definir o widget central para ser uma edição de texto. E vou nomear isso tributado pelo preço aqui. Será uma edição aguda de texto. E vou adicioná-lo aqui. E então o que podemos ter aqui. Se eu executar isso de novo, vamos conseguir algo assim. Temos um editor de texto, podemos escrever algo aqui. Agora, o que vamos fazer é simplesmente adicionar algumas linhas. Se pressionarmos o texto do anúncio e talvez excluí-lo se pressionarmos a ação de excluir texto. Então, o que vamos fazer é realmente pegar alguns, vou nomeá-lo talvez W, ou o bem do exemplo. E o que vamos fazer, isso nos permitirá verificar o texto do menu real que temos. Então, se eu for em frente e imprimi-lo aqui, para que imprima W dot txt. Agora, se seguirmos em frente e executarmos isso, vamos pegar a tela. E se eu pressionar os ataques à sede, vamos conseguir impostos. E o imposto, também vamos receber o texto de exclusão. E como você pode ver, sempre que pressionarmos neles, esse método será chamado a partir da ação acionada que acabamos de criar aqui. Agora, o que vamos fazer é verificar se este txt de ponto W é igual ao anúncio, então vamos adicionar algumas linhas ao editor de texto real que acabamos de criar. Então f, w dot x é igual a talvez adicionar texto. E se esse for o caso, vamos adicionar ao texto editar algo. Então, vamos definir o texto como igual a Olá. Este é o primeiro texto escrito aqui. E então, se esse não for o caso, então se eu sinto muito, como vamos verificar, se isso for igual a excluir texto. E se for esse o caso, simplesmente vamos adicionar os textos adicionados ou definir o texto em uma string vazia. Então é isso basicamente agora deixe-me corrigir isso e acho que estamos bem. Tudo bem. Então é isso. Basicamente, este é o nosso Deus por enquanto. Acabamos de verificar se precisaríamos adicionar o texto ou excluído, e apenas realizamos a operação de acordo com a mensagem que acabamos de receber. Agora vamos fechar isso e executá-lo novamente. E agora, se eu pressionar primeiro e adicionar textos, vamos ver o texto escrito aqui. E se eu excluísse, quem pode vê-lo desapareceu daqui. Então, isso é basicamente essa é a ideia da barra de status da fila. E isso muda o status de qualquer elemento em nosso aplicativo Piketty cinco acordo com nossas necessidades específicas. E neste caso, escolhemos que sempre que pressionamos neste menu Adicionar, acabamos de criar e qualquer ação que seja executada de acordo. E podemos excluir, adicionar e modificar nossos cinco aplicativos Piketty usando essa função acionada que acabamos criar para esse status de fila, barra, vidro e arquivo Piketty. Então é isso basicamente para essa classe. Mas, dito isso, este é o fim deste vídeo. Vejo você no próximo. 26. Calendário: Olá e bem-vindo de volta. Neste vídeo, vamos discutir a classe dq Telenor no arquivo Parquet. Vamos prosseguir e começar a construí-lo. Você vai criar um novo script, vai nomeá-lo de calendário Q, a torta. E vou importar tudo o que temos como de costume. Tudo bem, então nós dissemos, agora o que vamos fazer é simplesmente construir Q, o que ele. Então, vou começar com o aplicativo. Como de costume q aplicativo e sistema.Out ARG V. E então vamos construir o widget a partir do widget q. Tudo bem, então mostre. E, claro, execute o aplicativo. E agora estamos bem. Você pode começar a construir nosso calendário. E é uma classe de avanço de estado real. Não tenho muito o que fazer aqui. Acabamos de ter o calendário. Podemos construí-lo usando o widget de calendário Q. E depois disso, vamos definir a grade para visível. E vamos avançar e visualizá-lo. No entanto, antes de fazer isso, precisamos adicionar isso em nossa janela w dot do widget Q. Então, vamos seguir em frente e executar isso. E vamos conseguir algo assim. E como podemos ver, não conseguimos encontrar a corrente. Eu diria que acabamos de criar porque não adicionamos uma janela de duas horas. Agora, uma maneira de fazer isso é simplesmente adicioná-lo usando uma caixa. Então, vou criar uma caixa QV. E vamos adicionar esse tipo de soapbox para adicionar widget. Vamos adicionar calendário. E depois disso, vamos definir o layout da nossa janela, ou que tinha que ser esse chefe ou acabamos de criar. Agora vamos seguir em frente e executar isso. Vamos conseguir algo assim. Temos nosso contador dentro da nossa caixa, que diz o layout real do nosso que ele faz. Podemos ver que podemos escolher qualquer mês, qualquer dia e qualquer data. Você tem os anos aqui. Teremos o mês aqui, e podemos escolher qualquer um desses. Agora, para acessar esses dados reais, estamos apenas acessando todos apenas pressionando. Temos alguns métodos a fazer. Agora, sempre que clicamos nessa função, precisamos apenas imprimir os dados que temos. E podemos fazer isso simplesmente usando o justo. E, e neste caso, vamos fazer Q date. E depois disso, vamos conectá-lo à função que precisamos criar. E neste caso vou nomeá-lo, a data mudou. E vamos implementar isso aqui. Portanto, temos mudança de data aqui e vamos imprimir os dados reais. Nós temos. Então, para fazer isso, vamos imprimir o calendário. E temos aqui a data selecionada. Então, data selecionada. E neste caso, se eu for em frente e executar isso, deixe-me fechar. E novamente. E agora, onde quer que eu pressione algo ou qualquer data, vamos vê-lo aqui. Agora, para formatá-lo, na verdade, temos o método dot toString em Python. Agora vamos tentar novamente. E vamos ver que agora está formatado com o nome do dia da semana, depois o mês, o dia do mês e o ano em si. Então é isso. Basicamente, isso é para o nosso calendário real talvez Q e como usá-lo. Agora, talvez um recurso adicional que possamos ter, talvez tenha apenas um editor de texto Q. Talvez possamos mudar cada vez pressionamos a data que precisaríamos. E neste caso, podemos realmente criá-lo aqui. Temos texto adicionado a B de edição de texto q. E ele estará vazio no início. Vamos adicioná-lo à nossa caixa real. Agora, sempre que alterarmos a data, também podemos alterar o texto, editar esse setText, configurá-lo para calendário, aquela data selecionada, aquela para string. E agora, se voltarmos e apertarmos a atualização, veremos algo assim. Há uma edição de texto agora, se eu pressioná-lo, vamos ver as datas aqui. Então é isso. Basicamente, isso é para a classe de calendário Q, é como podemos usá-lo e obter as datas do usuário e codificar Pi. Então é isso basicamente para este vídeo. Vejo você no próximo. 27. Arrastar e soltar: Olá e bem-vindo de volta. Neste vídeo, vamos discutir a classe de arrastar e soltar e o parque purificar essa classe muito poderosa, onde você pode simplesmente arrastar algo de qualquer elemento que temos e depois soltá-lo em outro elemento. E vamos fazê-lo da maneira orientada a objetos. Então eu pensei, já que vamos começar a construir os projetos e terminamos com os elementos básicos ou widgets básicos. Nós temos. Por que não começar com a construção de aulas e funções e lidar com elas. Então, para fazer isso, vamos criar esse aplicativo usando orientado a objetos. Tudo bem, então vamos começar com nossa função. Essa é a função principal. Então, vou simplesmente começar criando o principal e o consternado. O que vamos fazer é criar nosso aplicativo, que é o aplicativo Q. E você pode seguir esse formato em todas as classes ou 25 aplicativos volumosos que você vai criar o simples e dizer para frente. Então, a primeira coisa que vamos fazer é colocar nossa principal função e disfunção. Vamos criar o aplicativo e , em seguida, criaremos nosso orçamento. Então, vou nomear agora uma classe. Vou nomeá-lo para orçamento apenas por causa do argumento. Portanto, nossa classe é widget e levará o Q real que precisamos criar. Agora, sempre que precisarmos de um widget de fila, podemos simplesmente chamar essa classe. Tudo bem, então vou nomeá-lo w, e será simplesmente q widget. Sinto muito, a classe que acabamos de criar. E estamos bem agora, podemos realmente mostrá-lo e, em seguida, executar o aplicativo. Certo? Então agora estamos bem. Podemos começar a construir nossa função aqui. Portanto, esta é a classe principal que temos agora, que é chamada de widget. E agora precisamos definir o construtor dessa classe. E em Python, fazemos dessa maneira. Podemos simplesmente chamar o init e ele fará todo o trabalho por nós. Mas nós realmente não precisamos de todos esses. Podemos simplesmente usá-lo com si mesmo apenas para, deixe-me escrevê-lo e depois explicá-lo. Então, vamos chamar o super e simplesmente editar assim. Portanto, esta é a nossa função basicamente toda desconstruída que vamos criar ou vamos trabalhar com ela. E agora usamos esse eu. Agora, sempre que você usar o self, vamos simplesmente abordar esse widget Q que temos aqui. Então, por exemplo, se eu disser a geometria self.name, vamos supor que isso nos permita simplesmente definir a geometria do nosso widget, que é o gravador W, para ser igual à que queremos. Então é isso. Basicamente, essa é a ideia desse simples widget de sinalização. Nossa construção que temos aqui. Agora, o que vamos fazer é simplesmente criar uma função. E essa função apenas fará o trabalho por nós. Então, a ideia disso é ter talvez uma linha onde o usuário possa inserir algum código e simplesmente arrastá-lo e soltá-lo em outra linha, ou talvez um imposto sobre ele. Então, vamos fazer isso talvez me deixe apenas alinhado ao texto. E isso se tomará como parâmetro. E agora podemos começar criando a linha nela. Então, vou nomeá-lo Line Edit. E será da linha de classe q, como de costume. E isso será vazio. E, claro, vamos precisar de si mesmo aqui. E o que vamos fazer agora é criar outro, talvez algum tipo de elementos. Vamos supor que precisamos de um crédito fiscal neste caso. E vou simplesmente criar textos de acordo com os critérios. E essa edição de texto também será talvez nada e também células. Agora, o que vamos fazer aqui é especificar ou ativar o recurso de medicamento dentro desta edição de linha. Então, vou chamar a edição de linha. E isso foi ativado e, ou talvez, definir arrastar ativado. Tudo bem, então nós temos isso aqui verdade. E agora, se eu chamar esse método que temos aqui no construtor que acabamos de criar. Então, se eu executar esse código, vamos conseguir algo assim. Se eu apenas aumentar esse comprimento, largura. E podemos ver que temos aqui nossa linha nisso. E também temos o imposto nisso. Agora, o que podemos realmente fazer é talvez adicioná-los ao tipo de caixa e, em seguida, simplesmente adicionar isso ou definir o layout da nossa janela ou widget para ser essa caixa como antes. Então, talvez crie o layout da caixa QH. E agora, dentro desta caixa, vamos adicionar esses dois. Então, caixa que adiciona widget. Vou adicionar edição de linha e bugs que adicionam widget. E vamos adicionar também os critérios adicionados aos textos. E, claro, vamos simplesmente definir o layout do nosso widget. E lembre-se sempre que precisarmos abordar este widget, podemos chamar de altruísta no layout. E vamos resolvê-lo assim e adicionamos ao layout. Agora vamos executá-lo novamente. E assim podemos ver que temos nossa linha adicionada e nossa edição de texto aqui. Agora, o que vamos fazer é simplesmente criar alguma função que possa nos conectar para o recurso de arrastar e soltar. Portanto, uma função é o evento drag enter. E isso nos permitirá, sempre que talvez digitarmos algo aqui e levá-lo e podemos arrastá-lo e ele salvará as informações para nós até deixarmos soltá-las em qualquer outro lugar. Então, vamos fazer isso, por exemplo. E para isso, vamos simplesmente construir outra função ou outra classe. Para arrastar e soltar. Vou nomeá-lo arrastar soltar. E essa função levará talvez apenas uma edição fiscal Q por enquanto. Isso nos permitirá à direita para este texto de cubo. Agora, o que vamos fazer é simplesmente definir o instrutor como de costume. E instruções vamos ter a si mesmo, que vai ter qualquer coisa que possamos nomear T para título. E vamos ter o pai desde o primeiro construtor. Então vamos chamar super como de costume e uma TI. Como antes, no entanto, precisamos pedir parâmetros, o T e o pai e eu explicaremos isso em um minuto. Agora o que vamos fazer é aceitar as gotas aqui. Então, vamos chamar de si mesmo que aceite. Tudo bem, então defina exceto gotas e nós vamos colocar uma verdade. E então o que realmente precisamos fazer. Tudo bem, então isso está aqui. E nós temos, agora o que vamos fazer é criar as funções que são, talvez precisemos delas para arrastar este item ou onde quer que tenhamos o elemento e solte-o em outro elemento. E vou nomeá-lo que entra no evento. Esta é uma função integrada, mas você precisa especificar tudo nela. Então deixe-me escrevê-lo assim e vamos trabalhar com ele. Então, a primeira coisa que vamos fazer é simplesmente obter dados. E vamos verificar se os dados que estamos recebendo são um texto e vamos aceitá-lo. Caso contrário, vamos simplesmente ignorá-lo. Então, para fazer isso, vamos usar F e D. Vamos usar a função, meus dados. E se o formato for, na verdade, um texto ou plano, vamos simplesmente aceitar. Então, isso aceita. Caso contrário, vamos simplesmente ignorar. Agora esta é a principal função que vamos. Ele vai decidir ou temos um texto simples que podemos aceitar, ou simplesmente ignoramos o que temos dentro do elemento e ignoramos o evento drop mais tarde. Agora, o evento drop é, na verdade, outra função. E isso nos permitirá simplesmente soltar o que temos dentro de nossos textos ou edição de texto. Sim. Tudo bem, então, para fazer isso, vamos simplesmente chamar de si mesmo já que temos o editor Cutex. E dentro disso, vamos definir o texto em tudo o que tivermos de fato. Então os dados dx por dt aqui, e eu acho que estamos bem. Então, sono, o que vamos fazer basicamente é mudar essa edição de texto da Cutex adicionada à classe que acabamos de criar. Lembre-se de que construímos os fofos animados aqui dentro desta aula. Temos algumas funções relacionadas a este editor de texto onde podemos verificar se os dados são tributados e se esse for o caso e o usuário deixou cair alguma coisa nesta edição fiscal, vamos definir o texto onde quer que tenhamos aqui. E para fazer isso, deixe-me escrever isso corrigido. E o que vamos fazer agora é mudar, como dissemos. E eu mudo isso para arrastar e soltar. E vamos tê-lo vazio no início. E vamos chamar a si mesmo por isso. Então, isso é basicamente essas são nossas aulas. Agora vamos prosseguir e executá-los novamente. E agora, como você pode ver, se eu escrever algo aqui e apenas arrastá-lo e soltá-lo, podemos vê-lo transferido para a. Então, se eu fizer isso de novo, vamos buscá-lo aqui. E é claro que podemos mudar qualquer coisa mais brilhante porque é uma edição de texto, no final do dia. Agora, esta é uma ótima classe que podemos usar em Python. Refine isso um pouco complicado, mas se você entender a ideia e como ela funciona, tudo ficará bem. Então, recapitular, onde estamos sombreados é que usamos programação orientada a objetos para construir essa função ou para esta aplicação pi 35. E eu fiz isso porque pensei que vamos começar com projetos em breve e precisamos ser capazes de trabalhar com classes, funções e não apenas escrever os widgets ou recursos reais talvez e métodos que temos. N pi poderia fazer cinco aulas. E essa é uma ótima maneira de começar. Construímos o widget que fizemos. Isto é w. Nós o construímos a partir daqui e definimos o construtor. O construtor não passa de apenas o elemento inicial ou o que quer que comecemos dentro da nossa classe que construímos. E isso instruiu acabou de chamar o super. É apenas a função principal que deve ser chamada. E então o que vamos fazer é simplesmente chamar qualquer função que precisamos. E esta é a linha dois textos que acabamos de criar aqui. E essa função tinha vários elementos que temos. Dentro dessa função, na verdade, temos outra classe que é o arrastar soltar. Então, se formos em frente e olharmos para ele, encontraremos também coisas semelhantes. Temos o construtor. Também temos algumas funções que podemos usar. E, claro, tudo isso é aceito porque acabamos de definir as gotas aceitas como verdadeiras. E também dissemos que o DAG não pode ser verdadeiro aqui também. Então, é basicamente isso para o recurso de arrastar e soltar ou classe em Pike purificar? Dito isso, este é o fim deste vídeo. Vejo você no próximo. 28. Download do Qt Designer: Tudo bem, então neste vídeo vamos instalar o QT designer. E é uma ferramenta que nos permite criar esses aplicativos PIKE ED50 com os quais estamos trabalhando usando apenas arrastar e soltar. Podemos ter nossas cinco aplicações Piketty com diferentes resoluções. Tamanhos, podem alterar as cores. Podemos adicionar edições fiscais, edições de linha, os widgets com os quais trabalhamos anteriormente. Podemos fazer tudo isso usando uma ferramenta simples. Existe o Query Designer. Agora, para fazê-lo, podemos escrever, eu deveria tentar, Pip, pode resolvê-lo usando pip. Por codificar. Vamos instalar por 35 as ferramentas. E eu tenho o designer de consultas na minha área de trabalho e, e no meu caso, verei os requisitos já satisfeitos. No entanto, no seu caso, ele será baixado, tentado aqui depois de baixar isso, mas você pode fazer, na verdade, é escrever o QT designer. E este é o único com o qual estaremos trabalhando. E isso vai aparecer aqui. Assim, podemos criar dialeto com botões, sem botões, e talvez apenas fechá-lo por enquanto. E isso é tudo o que precisamos. Temos os layouts, espaçadores, botões e widgets de colocação. Todas as coisas que discutimos anteriormente, como o editor de linha, o TextEdit, a caixa de gastos, a caixa de gasto duplo. Agora, nos próximos vídeos, podemos aprender a usar o designer do QT e projetar biografia semelhante cinco aplicativos ou fazer recursos semelhantes que fizemos anteriormente. E então vamos começar com alguns aplicativos ou alguns mini-projetos que nos permitem usar vários recursos, botões, widgets daqui e criar um mini-projeto ou muitos aplicativos que nós pode trabalhar com. Então é isso basicamente para este vídeo, é assim que podemos instalar esse designer QT. Vejo você no próximo. 29. Introdução ao Qt Designer: Oi. Então, neste vídeo, vamos falar sobre o QT designer um pouco. Vamos discutir as janelas, como a caixa de widget que temos aqui. Temos algumas coisas aqui no menu, e também temos algumas janelas aqui. Então, a primeira coisa que vamos falar é a barra do Menu Principal. Temos o arquivo para adicionar um novo arquivo. E temos alguns modelos aqui. Por exemplo, temos botões, ok, e tensor com botões, ok? Ele fica bem aqui sem botões, janela principal e orçamento. Então, basicamente, na maioria das vezes podemos usar os diálogos sem botões. Vai ter uma janela simples, como esta. E onde quer que você queira salvá-lo, você pode controlar e salvar. E ele vai aparecer como a GUI, que é a interface do usuário que você vai criar. Este designer de QT. Não é um código. Existe uma maneira de convertê-lo em código Python, mas por enquanto você pode tê-lo como u i. Agora também temos essa edição aqui. E isso é para editar widgets e lodo secundário. Não vamos usá-lo por enquanto. Há um uso dele que podemos usá-lo mais tarde. Nós temos a visualização do widget. Você pode ver a caixa de widget ou simplesmente removê-la, pode remover os recursos daqui, assim por diante e assim por diante. Você também tem as preferências que você pode escolher, pode alterar o modelo e assim por diante. Também temos a janela para minimizá-la ou maximizá-la aqui. Então você também tem a seção de ajuda aqui. Agora, o que estamos interessados são as caixas de widget aqui. Portanto, temos a função de filtro ou a opção de procurar qualquer coisa específica que quisermos. Por exemplo, temos vertical, temos layouts, espaçador, barra de rolagem e controles deslizantes. Também temos linha. Portanto, essa é uma ótima maneira se você quiser algo específico e precisar dele, a propósito, você pode apenas tentar o nome aqui. Por exemplo, caixa de seleção. E, em seguida, basta clicar nele e soltá-lo aqui. E nós vamos ter você caixa de seleção aqui. Agora, vamos passar para outra coisa que é o inspetor de objetos, e este é esse. Então, basicamente, essa ideia de espectros ópticos é fornecer uma prévia de todos os objetos no fórum atual. Então, neste momento, não temos, não temos nada. Mas, por exemplo, se eu arrastar isso aqui, você verá algumas coisas. Deixe-me aumentar um pouco. E vamos ter um diálogo na fila. Agora vamos mover outra coisa que vamos ter aqui, um espaçador. Temos o layout da caixa QV que acabamos de obter. E sempre que adicionarmos algo estará aqui, o inspetor de objetos. Então, temos a classe aqui e o objeto em si. E essa é uma ótima maneira de acompanhar todos os elementos atuais que temos em nosso aplicativo pike R15. Agora vamos excluir. Estes. Tem diálogo DQ, simples assim, porque esta é uma tela vazia onde criamos um diálogo de fila sobre ela. Agora vamos passar para outra janela que é o editor de propriedades. E este editor de propriedades é uma janela responsável por tudo o que aparecer na janela principal dos designers do QT. Então, por exemplo, se estivermos nessa janela, vamos obter todos os elementos aqui. Então deixe-me aumentar um pouco. Agora, vamos nos mover, por exemplo, há um espaçador. Vamos buscá-lo aqui. Você tem o tipo de tamanho horizontal de orientação está se expandindo e a dica de tamanho apenas com defeito em 20. E isso é para o espaçador arrastar e soltar e outra coisa aqui, indo ver a caixa de seleção. E se eu voltar para este, vamos ver o espaçador. Portanto, é aquele para o qual estamos apontando na tela aqui. Portanto, isso nos dará muitas informações sobre o elemento específico e nossa aplicação de bicicleta 35. Agora vamos passar para algumas outras coisas. Então, por exemplo, você terá o navegador de recursos. E neste caso, é uma maneira rápida de adicionar recursos como imagens, ícones, FIS ou qualquer coisa assim. Talvez precisemos de uma hora Piketty, cinco aplicativos. Podemos vê-lo aqui e usá-lo. Agora, outra coisa é o editor de ação. E isso fornece uma maneira de criar ações. E se tivermos alguns formulários aos quais precisamos adicionar ações, podemos simplesmente adicionar as ações aqui e talvez usá-las em nosso fórum novamente. Então é isso basicamente para as janelas que temos no pi ou no QT designer, vamos usar todas elas basicamente e visualizar ou criar um bolso de cinco aplicativos com esses widgets box, inspetor de objetos, editor de propriedades, navegador de recursos e editor nacional. Dito isso, este é o fim do vídeo de introdução sobre o designer QT. Vejo você no próximo. 30. Caixa de widgets: Tudo bem, então neste vídeo teremos uma breve introdução sobre a teremos uma breve introdução sobre maioria dos recursos ou a maioria dos elementos que temos aqui e a caixa de widget. Não vamos passar por todos eles, mas a maioria deles. Então talvez agora os próximos projetos, possamos usar alguns widgets que não usamos. Sim, ok, porque todos eles têm a mesma ideia e o que são para usuários diferentes. Agora o que vamos fazer é apenas criar, deixe-me fechar este. E novamente, temos o diálogo com botões, com botões, certo? E temos sem botões, a janela principal e a largura. Agora, a diferença entre a janela principal e o widget é que permanecemos quando temos uma barra de ferramentas automática que aparece imediatamente? Widget quando não temos isso. Então, se eu criar a janela principal, teremos essa barra de menus à direita que está bem aqui. Agora, o que podemos realmente fazer aqui é digitar. Vamos supor que eu preciso de phi, phi pressione Enter. Tenho permissão para ter alguns menus ou ações aqui. Agora, se eu pressionar isso, talvez eu queira escolher Editar. Vou copiar o designer do QT daqui. Não vou adicionar todas essas ações , mas algumas delas. Então, se tivermos aqui editar, pressione Enter, teremos talvez apenas ajuda no final. Então, temos esses três. Agora, se eu pressionar isso, posso adicionar algumas ações. Então você tem novo e aberto e o mesmo. Então, se eu pressionar aqui e digitar novo, pressione enter e, em seguida, oferecemos, que também está aqui. Agora observe essa pequena linha que temos, a linha separadora. Na verdade, podemos construí-lo usando o separador de adição. Então, se eu pressioná-lo, vamos ter uma linha aqui. Agora, deixe-me continuar. Nós nos salvamos e nos salvamos. Então, vou adicionar Salvar, Salvar como e, em seguida, talvez adicionar um separador e, em seguida, simplesmente sair. Então é isso. Estas são nossas paixões de arquivos. Agora, se quisermos apenas fazer algo para a edição, talvez adicionemos recortar e copiar. Então, vamos ter recortado e copiado. Agora vamos em frente e apenas visualizá-lo. Podemos ir em frente e visualizá-lo e deformar. Vá para este. E podemos vê-lo aqui. Temos nosso arquivo e temos nossa edição aqui. E vamos fechar isso e vamos ver o que temos também. Agora, se eu pressionar isso, verei nossa ação dentro deste editor de propriedades. Temos a ação de fila que é para o novo. Temos o texto que posso tributar e dica de ferramenta dessas referências ao novo arquivo. Pressione para cima e vamos levantá-los e salvar, salve como. E como você pode ver agora no inspetor de objetos, veremos todas as ações e menus que criamos. Então, se formos em frente e dermos uma olhada nisso, vamos ver todos eles aqui. Então, se eu talvez aumentá-lo, você vai conseguir ação, ação de separador aberto de ação segura. Devo nos salvar todas as ações e menus que acabamos de criar. Eles vão aparecer aqui. E sempre que pressionarmos um deles, veremos os detalhes dele dentro deste editor de propriedades. Agora, se você, por exemplo, precisar de um layout horizontal, posso apenas obtê-lo aqui. E esse é o nosso layout horizontal. Por exemplo, se eu precisar de um botão, posso obtê-lo e colocá-lo aqui. Agora, se eu precisar de outro botão, que também é horizontal, porque estamos adicionando-o a um layout horizontal, vamos colocá-los na forma de uma maneira horizontal. Enquanto eu adicionar, os botões de pressão serão adicionados de forma horizontal. Agora, se por exemplo, deixe-me diminuir o tamanho disso. Tudo bem? Então, tudo bem, então esse é o nosso layout horizontal. vou criar Agora vou criar um layout vertical, que é este. Acionar no botão UQ. Vou pegá-los e de uma forma horizontal. Agora vamos seguir em frente e excluir tudo isso. E agora vamos verificar, por exemplo, o layout da grade e adicionar algumas coisas a ele. Então, deixe-me aumentar o tamanho dele. Vou adicionar isso. E, como você pode ver, eles serão adicionados em uma forma de grade. Enquanto eu continuar adicionando elementos, eles serão adicionados assim. Agora, vamos passar para outro elemento. Por exemplo, temos o botão de opção. Então, deixe-me excluir tudo isso. E tudo bem, então temos o botão de opção. Agora, se eu pegar dois botões de opção, se eu clicar no primeiro, deixe-me visualizá-lo. Se eu clicar nisso e nisto, eles serão automaticamente relacionados entre si, então não podemos clicar em ambos durante o mesmo tempo. Então, se eu clicar nisso, isso seria desclicado e assim por diante e assim por diante. Então, isso é para os botões de opção. Agora observe que se eu pressionar este, vamos vê-lo aqui. E o botão de opção, o segundo que acabamos de criar será de não revelado para automaticamente, que está bem aqui. E agora vamos passar para as caixas de seleção. Por exemplo. Se eu tiver várias caixas de seleção e eu visualizá-las, vamos vê-las. E posso conversar várias opções ao mesmo tempo. E não temos nenhum problema com isso. Então também temos alguns botões aqui que você pode verificar, mas esses são os principais. Agora vamos passar para algumas outras coisas. Por exemplo, temos o cabelo, a caixa de grupo, temos a caixa de ferramentas e você também tem a caixa de combinação. Então, nós apenas em nossos vídeos básicos de widgets. Então, por exemplo, se eu precisar usar a caixa de combinação, se eu pressionar isso, podemos adicionar elementos a ela. Por exemplo, deixe-me apenas editar itens, e aqui podemos adicionar alguns itens. Portanto, o primeiro item será o item um, item dois. E, finalmente, item 3. Agora, se eu pressionar OK e OK, vamos vê-lo assim. Então, se eu for em frente e visualizá-lo, obteremos o item 1, o item 2 e o item 3, e podemos escolher entre eles. Então, é isso para a caixa de combinação. Deixe-me ver sobre essa caixa de grupo para bala aqui, podemos realmente adicionar algumas coisas a ela. E isso é apenas um contêiner que pode funcionar. Podemos adicionar vários elementos nele com o mesmo nome de caixa. Agora, deixe-me, deixe-me excluir isso e passar para algumas outras coisas. Temos a edição de linha que usamos anteriormente. Detectamos editar apenas uma versão maior da edição de luz. Também temos o texto simples, e também temos a caixa de rotação que usamos para adições simples e para números inteiros. Por exemplo, se visualizarmos aqui e incrementarmos, veremos 12345 e assim por diante e assim por diante. Também temos o tempo Editar. E isso nos permitirá fazer a mesma coisa por tempo. Desta vez, em vez de ter números inteiros. E vamos passar para as barras de rolagem. Agora temos as barras de rolagem horizontal e vertical. Então deixe-me mostrar a você a horizontal. E deixe-me adicionar o vertical aqui. Vamos visualizá-lo. E como você pode ver, podemos nos mover aqui com essas barras de rolagem. E vamos passar para os controles deslizantes. Vou mostrar o controle deslizante simples, que é o vertical. E vamos visualizá-lo. Vamos ver algo assim. Já usamos tudo isso em nossos vídeos anteriores, mas essa é uma maneira simples de arrastar e soltar qualquer coisa que quisermos em nosso aplicativo BY não conseguimos ao vivo. Agora, temos algum trabalho a fazer. Por exemplo, se quisermos fazer algo com esse controle deslizante, toda essa barra de rolagem aqui. Se o usuário apenas movê-lo ou enviar um aplicativo, precisamos tirar as informações daqui. A edição de textos ou linha ou de D é adicionada data e hora adicionada. Então, vamos levar essas informações para o que quisermos com elas. Agora, também temos os widgets de exibição onde temos as etiquetas, rótulo simples. Temos também as linhas verticais e horizontais. Essas são linhas simples de se ter sempre que queremos separar algumas coisas entre si. Também temos o navegador fiscal. E essa é uma ótima maneira de adicionar informações. E deixe-me apenas revisá-lo. Como você pode ver. Esta é a nossa edição de texto e este é nosso navegador de textos onde não podemos alterar as informações. Eles usam um não pode alterar as informações. Assim como o atmos dos aplicativos Deepak E5. E essa é uma ótima maneira de adicionar informações na forma de impostos adicionados que o usuário não pode fazer. Então é isso basicamente para este vídeo, demos uma olhada na caixa do widget. Temos os espaços de layout, botões. Então Sean e nós olhamos para eles antes de trabalharmos com eles. E os vídeos anteriores em que criamos os widgets básicos e adicionamos algumas linhas de texto, nove adultos. E trabalhamos, trabalhamos com controles deslizantes, barras de rolagem, rótulos e muito mais. Mas essa é uma ótima maneira de vê-lo em um designer de QT, que é essa ferramenta que nos permite criá-lo com a propriedade drag and drop. Então, agora é muito fácil para nós construí-lo, mas precisamos criar as funções por trás dessa simples frente e design. Então é isso basicamente. Agora, nos próximos vídeos, vamos começar a criar pequenos aplicativos e colocar nossos designers de antiguidade pi 35 podem enviar para uso. Então, vejo você nos próximos vídeos. 31. Aplicativo no Qt Designer: Olá a todos. Neste vídeo, vamos falar sobre o designer do QT. Já tivemos uma introdução simples e introduzimos o que é o QT designer, como usá-lo. E as janelas que temos, todos os recursos que temos essa ferramenta. Agora, o que vamos fazer é realmente criar um aplicativo simples e, em seguida, apenas usá-lo em nosso PI pode ser cinco aplicativos. Portanto, sempre que criamos uma fila, o aplicativo designer que receberá um arquivo de interface do usuário. E precisamos apenas pegar esse UEFI e carregar em nosso código Python. E para fazer isso, precisamos usar alguns métodos. E nossos aplicativos pike cutie cinco dentro de um script Python aqui. Então, o que vou fazer é simplesmente criar um script. E vou nomeá-lo de designer de QT, primeiro aplicativo. E, claro, a torta. Então deixe-me renomeá-lo e estamos prontos para ir. Agora o que vamos fazer é com o designer superior do QT e, em seguida, começar com a construção de uma janela. Então, vamos esperar um pouco e estamos bem. Vamos começar com a janela principal que temos , vamos clicar nela. E esta é a janela principal que discutimos anteriormente. Temos aqui esta barra de menus que podemos mudar. Então, eu vou talvez apenas arquivar aqui. E nada muito extravagante. Vou pegar talvez um botão de pressão. Vamos colocá-lo aqui e algum rótulo aqui. E esse rótulo diria, este é o primeiro aplicativo do designer QT. E agora, se você quiser mostrar tudo isso, você pode simplesmente aumentar o tamanho e bom para ir. Agora este é o botão de pressão. Se eu precisar renomeá-lo ou apenas clicar, clique duas vezes nele e talvez apenas envie, por exemplo. Não temos nada para enviar, mas é uma demonstração simples por enquanto. Agora, o que vamos fazer é clicar, clique com o botão direito aqui. Vamos ver algo layout. E esse layout é realmente o que discutimos em nossas classes de widget anteriormente. Temos o layout horizontalmente e o layout verticalmente. Então, se eu clicar no layout horizontalmente, vou obter as janelas são os rótulos e elementos que tenho aqui e meu aplicativo de codificação Pi ou esta janela rotulada ou simplesmente colocada de forma horizontal. Agora, se eu controlar o set e deixe-me, e este é o caminho vertical. Nós os pegamos de forma vertical. Temos esse rótulo e a parte inferior bem aqui. Agora o que vamos fazer é voltar a um estado normal. Acabamos de especificar que fizemos isso nessa posição. E também temos isso aqui. Agora, como você pode ver, um phi semi apenas aumenta isso. Mas agora o que vamos fazer é simplesmente salvar esse arquivo em nosso diretório onde temos nosso código, o script Python que vamos criar. Então vou, estou pressionando Control Save para salvar isso. E vamos fazer com que essa janela vá para a área de trabalho. E é claro que vou escrever meu diretório. E dentro desse diretório, vou simplesmente salvar esse arquivo como primeira interface do usuário. Então, talvez primeiro designer de Qt. E agora, se eu clicar em Salvar, vou tê-lo no meu diretório aqui. Então, se eu verificar, apenas atualize e vamos buscá-lo aqui. Nós temos este arquivo, primeiro, designer dot u i. Agora , este arquivo de interface do usuário do designer QT é na verdade um formato XML. Podemos encontrá-lo aqui. E está apenas salvando os dados para nós e uma forma de XML. Vou salvá-lo em classes assim por diante e assim por diante. Você pode ir em frente e criá-lo, mas não é prático fazer isso. Se você quiser escrever seu código, você pode simplesmente fazer isso no buffer de script Python. Agora temos nosso design 2D ou interface do usuário aqui, e precisamos carregá-lo em nosso aplicativo. Então, para fazer isso, vamos importar o sys. E é claro que vamos importar do tubo, purificar alguns poucos. Vamos importar widgets Q e você IC. Então, vamos usar o UIC para carregar nossa interface do usuário do arquivo XML que temos. Agora, o que vamos fazer é simplesmente criar o aplicativo Q. E vamos ter nosso g k. Desculpe, deixe-me reescrever. Diz que r d theta. E nós conseguimos, podemos começar com uma janela. Agora, essa janela será, na verdade o aplicativo Q que acabamos de criar anteriormente. E este aplicativo é o arquivo de interface do usuário que temos. Então, para fazer isso, vamos simplesmente escrever UIC e vamos pressionar e pontuar. Podemos ver alguns métodos aqui. E vamos usar o método Load UI que temos aqui. E vou carregar o primeiro arquivo do designer do QT. Então primeiro designer QT wi. E estamos prontos para ir. Vamos simplesmente mostrá-lo e executar o aplicativo. Então, chegamos agora, vamos abrir o CMD e apenas executar primeiro aplicativo Python QT designer, o Pi. Executando esse resultado nessa janela que acabamos de criar. É a mesma janela exata que temos em nosso designer QT, como você pode ver. Então deixe-me ajustar isso como você pode ver se quiser visualizá-lo. Você pode clicar em Exibir. Sinto muito. Vamos clicar em pré-visualização aqui. E podemos ver que eles são exatamente os mesmos. Nada está mudando, exceto que esta é uma prévia, um bom designer, e este é o aplicativo real e o script Python que acabamos de criar. Então, é assim que podemos criar nosso aplicativo de designer QT a partir do arquivo de interface do usuário que podemos extrair dessa ferramenta aqui. Dito isso, este é o fim deste vídeo. Foi apenas um vídeo introdutório de como usar os arquivos de interface do usuário que temos dentro de nossos scripts Python. E, claro, em nossos projetos, vamos usar vários arquivos. Teremos vários arquivos de interface para diferentes recursos, funções diferentes, assim por diante e assim por diante. Vamos mesclar todos eles em um código principal ou meu script Python principal que nos permitirá alternar entre eles e ter o que quisermos deles. Então é isso basicamente para este vídeo. Vejo você no próximo. 32. Converter Ui para Python: Tudo bem, então bem-vindo de volta. Neste vídeo, mostrarei como você pode converter seu arquivo de interface do usuário em um script Python. Agora, você pode fazer isso se seu código ou aplicativo for bem simples, ou se você tiver uma janela que você só precisa estender o arquivo da interface do usuário e não precisar digitar os elementos, como a linha adicionado, texto, rótulos, assim por diante e assim por diante. Você só precisa de algo simples para fazer o trabalho. Você pode fazer isso no designer QT. Então, temos essa janela principal do nosso vídeo anterior. Nós o temos de uma maneira simples. Agora, o que podemos realmente fazer é salvá-lo. Então já dissemos isso no primeiro até julho. E como você pode ver, nós tentamos aqui. Então, se quisermos converter isso em um script Python, precisamos apenas executar um comando simples aqui. E o comando é usar o Pi UIC cinco porque estamos usando QT ou panky D5. Se você estiver usando pica antes, você só vai mudar cinco em quatro. E funcionará perfeitamente. E você simplesmente escreverá o nome do seu arquivo de interface do usuário, no meu caso, é a primeira UI do ponto do designer do QT. E você precisa escrever 0 para o arquivo de saída e traço o. E então você só vai escrever o nome do arquivo de saída que você deseja. Agora, no meu caso, talvez eu apenas o nomeie o mesmo QT de pizza, designer dot por em vez de UI. Agora, se eu bater em corrida, vamos convertê-lo. E como você pode ver, temos um novo arquivo aqui. E você entra, este é o primeiro tubo de desejo QT, e acabou de ser convertido desse arquivo de interface do usuário. E como você pode ver, temos todos os nossos elementos e temos tantas coisas acontecendo aqui. Então, por exemplo, nesta configuração você, eu tenho, pode ver claramente que temos nossa floresta central, temos o botão, temos o rótulo, bem, quem tem a barra de menus, arquivo de menu, barra de status, tudo desses que temos em nossa janela aqui, para que possamos visualizá-los. E nós temos um monte de outras coisas, como a geometria SA é definida o nome do objeto, assim por diante e assim por diante. E, em seguida, temos a interface de usuário retraduzir. E essa é uma função simples que simplesmente traduz todos os elementos da interface do usuário em nossos botões e rótulos reais que acabamos de criar dentro desse script Python. Então, vamos extrair tudo da janela principal. Então, por exemplo, temos de quando janela, a parte inferior Enviar, em seguida, extraí-lo e traduzi-lo para o texto ou o texto sem formatação. Usamos o script Python. Então, é isso basicamente para como simplesmente converter um arquivo de interface do usuário em um script Python. Agora, com isso dito, este é o fim deste vídeo. Vejo você no próximo. 33. Layout no Qt Designer: Olá e bem-vindo de volta. Neste vídeo, vamos passar pelos layouts que temos no designer do QT. Então, a primeira coisa que vou fazer é simplesmente criar nossos modelos talvez, escolhendo um sem botões. E este é muito simples que vem do nada faz uma janela vazia. E agora o que vamos apresentar neste vídeo são esses layouts. Então, já usamos a horizontal e a vertical. Agora vamos passar por todos eles e talvez usá-los em alguns exemplos para usá-los. E, em seguida, basta implementá-los em nossos próximos aplicativos do QT cinco. Tudo bem, então vamos começar com a criação de um rótulo. Vou arrastá-lo e soltá-lo aqui. E como podemos ver, temos o rótulo que acabamos de receber. E agora o que vamos fazer é simplesmente mudar o texto aqui. Assim, podemos alterar os textos desse ascensão aqui, podemos clicar duas vezes no elemento e vamos apenas alterá-lo. Ou podemos ir em frente e pesquisar no editor de propriedades para texto. E desculpe, vou pressioná-lo e apenas pesquisar texto e veremos esse critério de texto, o que indica trabalho fiscal. Agora, se eu clicar duas vezes nele, posso alterá-lo. Por exemplo, vou nomear este de baixo. E eu quero mudar a cor dela e sua cor de fundo também. Então, para fazer isso, vou pressionar esses três pontos aqui. Vamos fazer com que isso mude a, talvez a característica do nosso elemento. Vou torná-lo ousado. Indo mudar, escolha outra cor para, como amarelo. E talvez eu vou torná-lo centralizado. E estamos bem. Deixe-me torná-lo um pouco maior. E agora pressione, Ok, e vamos buscá-lo aqui. Este é o Botão 1. Como podemos ver, não podemos realmente vê-lo porque a cor de fundo não é tão boa. Bem, podemos realmente fazer é ir para o indo para apenas digitar auto. E vamos ter plano de fundo de preenchimento automático. E você pode clicar e verificar. E então vamos entrar na paleta. E vou mudar a paleta aqui. Vou fazer isso talvez vamos fazer um azul e estamos prontos para ir. Portanto, este é o Botão 1. E, como podemos ver, mudamos a característica do elemento ou do texto e seu plano de fundo. Agora vamos criar outro rótulo. Então, vou fazer exatamente a mesma coisa, Botão 2. E vou mudar esse pellet para talvez vermelho. E, em seguida, habilitar o plano de fundo de preenchimento automático. E vamos apenas clicar no texto dele. Então esse é o texto. E vou simplesmente ajustar. Então, vou torná-lo centrado, ousado e talvez e talvez branco. Tudo bem, então este é o nosso segundo botão que temos. E o que vamos fazer agora é usar a característica de layout que temos um designer de QT para talvez fazer com que pareça um pouco melhor. Então, temos esses dois botões. Agora, uma maneira de lidar com eles ou simplesmente juntá-los é colocá-los horizontalmente ou verticalmente aqui. Então deixe-me experimentar. E eu vou fazer é simplesmente colocar para fora horizontalmente. E como podemos ver, nós os temos de forma horizontal. Se eu pressionar na vertical, então os recebo de forma vertical. Agora, o que também vamos verificar é o atraso em uma grade. E como você pode ver, não é essa a frente desta vertical. No entanto, se tivermos vários botões, então se eu tiver, por exemplo, deixe-me excluir isso e estamos bem. Então, esses são nossos dois botões. E o que vou fazer agora é simplesmente copiar isso. Vou nomeá-lo botão 3. E o último é o botão para eu sinto muito. Vou copiar isso. E vou tê-lo como quatro. Tudo bem, então agora nós temos todos eles. Se eu apenas levá-los juntos e pressionar a grade, veremos que eles estão em uma forma de grade. E phi quer tê-los apenas duas por duas tabelas. Vamos tê-lo assim. Agora, vamos supor que temos alguns rótulos para esses botões. Eles não são realmente botões, na verdade são rótulos que acabamos de criar. E vou excluir isso e estamos prontos para ir. Tudo bem, então nós temos todos os nossos padrões e eles são rótulos rotulados na verdade, como dissemos, eles não são q botão de pressão. Mas para o bem do argumento é supor que nós os tenhamos como botões. E eu vou fazer é simplesmente assim. Vou pegar alguns rótulos. E nós vamos tê-los como essa forma simples. E agora o que podemos realmente fazer é pegar tudo isso e talvez apenas usar o layout em um layout de formulário. E vamos obtê-lo dessa maneira. Se eu aumentar um pouco, vamos apenas vê-lo. Tudo bem, então é assim que podemos criar esses tipos de formulários e talvez mapear os rótulos para os botões correspondentes dessa maneira. Agora, vamos supor que uma janela seja bem pequena em tamanho. E nós realmente usamos todo o comprimento aqui da altura. E agora o que podemos realmente fazer é talvez quisermos mapear outro layout que talvez seja semelhante a este. Então eu tenho esses dois rótulos. E eu tenho um suponho que eu tenha q botões de pressão. E eu vou ter esses dois botões de pressão aqui. E vamos supor que eu os vi neste layout de formulário. Agora, o que você pode realmente fazer é classificá-los agora horizontalmente. Então, se eu colocar isso, vamos obtê-lo dessa maneira. Agora, vamos aumentar um pouco. E vamos pegar nosso formulário assim. Então é isso. Basicamente, essa é a ideia principal dos layouts e como podemos usá-los. E a última talvez observação aqui. Então, vamos supor que você tenha um botão que você precisa adicionar. Talvez aqui você possa arrastá-lo e soltá-lo e você pode vê-lo aqui. E vamos supor que você precise adicioná-lo da maneira vertical, bem aqui, sinto muito, da maneira horizontal entre esses dois formulários, você pode simplesmente ir em frente, pegá-lo e colocá-lo aqui. E você pode ver que ele ocupará o espaço necessário dele. E é isso basicamente para o layout da ferramenta de designer QT. Dito isto, este é o fim deste vídeo. Vejo você no próximo. 34. Edite ordens com tab: Olá e bem-vindo de volta. Neste vídeo, vamos ser introduzidos no recurso de guia que temos na ferramenta QT designer. Então, a primeira coisa que vou fazer é simplesmente criar um diálogo com botões. E vem com os botões OK e Cancelar. Então deixe-me torná-lo um pouco maior. E o que vamos fazer é rastrear isso e deixá-lo aqui. Agora, o que vamos fazer é simplesmente adicionar algumas coisas. Por exemplo, vou adicionar rótulos. Então, vou ter rótulos. Portanto, isso é rotulado como um, nível dois, nível três e trabalho para. Portanto, o primeiro nível indicará, por exemplo, o primeiro nome. Então, vamos criar um formulário simples, LastName. E então temos, por exemplo, e-mail e número de telefone. E temos que ir. Agora, o que vamos fazer é simplesmente criar adultos de linha para todos eles. Então, temos esse 1, 2, 3 e 4. E eu vou arrastar todos eles e colocá-los em uma forma como essa. Portanto, é super fácil de fazer e muito prático de usar para criar uma forma simples como essa. Agora, o que vamos fazer é simplesmente adicionar uma nova edição de linha aqui. Então, por exemplo, vamos supor que precisamos de uma nova informação, o endereço. Então, vou arrastá-lo e soltá-lo aqui. E vou simplesmente copiar um rótulo. E vou simplesmente adicioná-lo em seu lugar correspondente aqui. E este é o endereço. Agora, o que vamos fazer é simplesmente visualizar isso. E vamos encontrar um problema simples que vamos resolver. Agora, como você pode ver, se o usuário estiver digitando algumas informações. Portanto, temos o FirstName, LastName. E agora, se eu pressionar Tab para passar para o próximo, vou pular o endereço e ir para o e-mail. Por exemplo, Primeiro exemplo.com, depois o número de telefone. E se eu pressionar mais uma vez na guia, vou ser enviado para a linha de endereço Editar aqui, onde eles podem simplesmente colocar o endereço. E é muito irritante para os usuários terem coisas assim porque é FirstName, LastName, endereço, e-mail e número de telefone nesta ordem. No entanto, há o primeiro e o sobrenome, em seguida, para o e-mail, número de telefone e endereço. E isso ocorre porque adicionamos esse endereço depois de criar todo o formulário e o temos como uma adição ao formulário original que temos. Então, uma maneira de lidar com isso é usar a ordem de guias Editar. E se eu pressioná-lo, vamos chegar a 1, 2, 5, 3 e 4. Então, vou simplesmente mudá-los assim. Então, menos lado novamente, temos aqui 1, 2, 3, 4 e 5. Agora estamos prontos para ir. Podemos simplesmente fechar isso e vamos passar para a pré-visualização. E agora, se eu apresentar a guia, você verá que estamos indo na ordem cronológica ou na ordem vertical que temos dentro do nosso formulário. Portanto, esse é um recurso simples , talvez, que possamos usá-lo como um muito poderoso, especialmente se você estiver preso em um formulário e você realmente não sabe como mudar isso. Talvez em vez de apenas excluir todo o formulário e fazê-lo novamente, isso o ajude a fazer o que quiser com esse formulário. Então é isso basicamente para este vídeo. Vejo você no próximo. 35. Como definir amigos: Olá, Então bem-vindo de volta. Neste vídeo, vamos discutir como podemos criar corpos E designer de QT. Portanto, os corpos geralmente são uma conexão entre alguns widgets e normalmente estão entre o rótulo da fila e outro. Elementos como edições de linha DQ ou uma caixa de combinação. Você tributa crédito, assim por diante e assim por diante. E essas conexões estão aqui para fornecer um atalho de teclado rápido. E é quando o usuário quer se mover de forma rápida. Dentro do nosso formulário. Eles podem usar esses atalhos de teclado e ajudarão a sair do caminho. Portanto, ao definir corpos, melhore a usabilidade das diretrizes que você tem e melhore o desempenho geral da sua aplicação de padaria cinco. Agora vamos começar com a criação desses corpos. E para fazer isso, basta clicar com o botão direito do mouse em cada rótulo e pressionar e no início. Então, vamos adicionar isso aqui. E o que vamos fazer é adicionar esse comercial e em todos os rótulos que temos. Alguns vão adicioná-lo aqui. E vou fazer exatamente a mesma coisa para todos eles. E finalmente, o que vamos fazer é simplesmente conectar esses rótulos à linha que temos. Então, para fazer isso, precisamos simplesmente clicar em Editar corpos. Em seguida, clique nisso e apenas conecte-se ao rótulo correspondente. Então você clica e solta, certo? Então é isso. Basicamente, é assim que você pode conectá-los. Agora temos uma conexão entre todos esses. E se eu clicar em Salvar ou apenas visualizar por enquanto. E o que vamos fazer agora é simplesmente pressionar o primeiro, que está no primeiro nome. Agora, se quisermos ir ao e-mail aqui, podemos notar que ele começa com a letra E. Então, se quisermos pular todo o caminho da primeira linha para a quarta. Podemos usar o toque três vezes e podemos chegar lá, ou podemos simplesmente pressionar a letra a porque ela começa com E. E, como você pode ver, temos uma linha simples nas primeiras letras de todas elas. Então, se por exemplo, eu preciso ir para a letra P, vou fazer exatamente a mesma coisa de antes. Então, por exemplo, se eu estiver no primeiro, vou passar para a letra a como um caminho aqui. É isso. Basicamente, é assim que podemos definir amigos e apenas criar um aplicativo de purificadores de compra melhor para o usuário. Dito isso, este é o fim deste vídeo. Vejo você no próximo. 36. Edit slots e sinais: Olá e bem-vindo de volta. Neste vídeo, vamos falar sobre isso aqui, que é basicamente os sinais de edição e slots. Então, isso nos ajudará talvez apenas a melhorar nossos aplicativos pi 35 em termos de manipulação ou adição de algumas funções em nossos botões aqui. Então, se tivermos esse botão e precisarmos enviar o formulário, por exemplo, e temos as primeiras informações aqui. Podemos clicar nisso, certo? E eles devem desaparecer de mim. Ou talvez apenas exibamos uma mensagem indicando que recebemos o formulário e que o aplicativo foi enviado com sucesso. Agora, outro exemplo pode ser, então, apenas excluímos tudo isso. E vamos começar de novo. O que vou fazer é simplesmente criar duas edições de textos. Portanto, este é um texto de edição. Vou aumentar um pouco. Vou copiá-lo, colá-lo aqui. Layout de forma horizontal. E estamos prontos para ir. Então é isso basicamente, deixe-me adicionar alguns botões aqui. Então, vou adicionar dois botões. Então aqui temos o botão de pressão. E isso é para o primeiro. Vamos levar outro para o segundo. Agora o que vamos fazer é também estes verticalmente, desculpe, horizontalmente. E acho que somos bons para fazer uma gunna, vi-los assim. Agora, o que vamos fazer um sudo muda isso em imagem apenas ajustada. Vou mudar isso para o imposto talvez claro. E então temos a mesma coisa aqui, textos claros para. Agora, o que vamos fazer é simplesmente ir ao Editar lodo estabelecido, indo editar isso. Portanto, sempre que oprimir ou clicar neste botão, vamos limpar o editor de texto aqui. Então o que vamos fazer é simplesmente pressionar, Ok, agora temos uma relação entre esses dois. Sempre que clicarmos e o botão de pressão, vamos limpar isso aqui. E vamos fazer exatamente a mesma coisa aqui. Sempre que clicarmos no botão dois, vamos simplesmente limpar tudo o que temos daqui. Agora, vamos voltar e revisá-lo. Se eu pressionar ou escrever alguma coisa aqui. E eu também tenho algumas coisas aqui. Se eu pressionar um texto não criptografado, verei que meu texto está aparecendo do texto em um. E se eu apresentar a saída dois, vou ter o mesmo resultado exato de antes. Então é isso. Basicamente, temos mais algumas funções. Então, se você quiser clicar nisso e você pode ver todas as funções que temos. E, claro, se eu pressionar este, vamos ver exatamente a mesma coisa que temos aqui, aperte o botão. Agora, se eu pressionar isso e talvez chegar ao botão de pressão, veremos que temos impostos adicionados e o resultado é um botão indicativo de fila. Então é isso basicamente. Agora, o que podemos realmente fazer é talvez tentar conectar esses três juntos. Então, o que vou fazer agora, basta atribuir esse imposto adicionado ao botão de pressão que temos. Vou usar apenas o texto alterado. E onde quer que o texto mude na edição de texto, vamos clicar no botão, certo? Então esse é o nosso relacionamento aqui. E, claro, o que vou fazer agora é talvez, façamos isso para todos os elementos. Então, vou dizer que sempre que clicarmos e neste botão, também vamos clicar no botão dois, e assim por diante e assim por diante. Agora, o que vamos dizer aqui é que sempre que clicarmos no botão dois, vamos simplesmente limpar a mensagem da primeira. Então, agora vamos visualizá-lo. E se eu tiver alguns podem ser tributados aqui e eu escrever qualquer coisa aqui, devemos ver isso desaparecer. Porque o que realmente fizemos é que estabelecemos três relações entre nossos quatro elementos. Então, a primeira é que sempre que escrevermos no texto e detectamos que usando a função detecta alterada, vamos limpar esta ou, desculpe, vamos clicar no botão de pressão. E se isso for clicado, isso também será cortado. E, claro, o último relacionamento é que, se isso for clicado, vamos limpar os textos nisso também. Então é isso. Basicamente, é assim que você pode usar essas funções. E há incorporados dentro nossos critérios de slug de textos de edição. Então você tem várias funções que você pode usar. E tão poderoso, a maioria deles, nós os usamos antes, como o texto mudou. Também usamos algumas coisas daqui , temos o conjunto clicado Jack, temos o menu show alternar, assim por diante e assim por diante. Assim, você pode ir em frente e começar a criar alguns pequenos aplicativos usando essas funções que temos aqui. Então isso é basicamente para este vídeo. Vejo você no próximo. 37. Introdução ao jogo com piados: Tudo bem, então olá e bem-vindo de volta. Neste vídeo, vamos apresentar nosso projeto, que é o jogo de dados. Então, como você pode ver, temos dois dados aqui. E também temos para Claire. Então, temos o jogador um e o jogador dois. Cada jogador tem uma pontuação, e esta é uma pontuação final. E eles também têm a pontuação atual da rodada. Agora, vamos começar usando o botão roll aqui. Então, se o usuário pressionar drones, então ele começa com o Jogador 1, você pode ver que a pontuação atual e o que temos três mais três. E se pressionarmos também é mais uma vez, temos três mais 25 mais os seis. Vamos pegar 11 aqui. Agora, cada vez que o usuário tinha duas opções, é uma função ou espera. Agora, se ele escolher espera, tudo daqui seria transferido para a pontuação. Então, se eu pressionar e segurar, veremos que temos 11 aqui. E este é o lugar para virar agora. Então, comprometeu-se a rolar uma vez, 4 mais 5, temos nove. Agora, a coisa real neste jogo é que quem recebe um só perde o seu próprio. Então, se eu continuar pressionando aqui, posso ver que temos 0 aqui? Porque se eu for ao concerto e visualizá-lo, podemos ver que os dados são 5 e 1. Então, o jogador 2 tem um dado, um. E é por isso que é realmente perdido essa rota. Então deixe-me tentar novamente. Temos 11 Hold Então lá para segurar. Então é isso. Basicamente, a ideia deste jogo. Quem chegar ao 101º é o vencedor. Então, temos 11 e 16. E o lugar um jogou, e ele tem aqui um. E é por isso que nada mudou. Se eu ligar novamente. E o jogador dois também tem um. E agora podemos nos inscrever novamente. Temos 34 para o jogador dois. Então, são sete. Role novamente, 2 e 4, 6 mais 7, 13. E se quisermos segurar, podemos segurá-la. Então é isso. Basicamente. É isso. E agora o que realmente fizemos é que encurtamos o quando o osso é ou a pontuação do vento. Fiz isso 25 só por causa do vídeo introdutório. Mas para os próximos vídeos, vamos usá-lo como um 100. Então é isso. Basicamente, essa é a ideia deste jogo. Quem chegar a uma pontuação final primeiro, whens. E nós temos a função e pressionamos o botão. Também temos o novo recurso de jogo aqui. E isso é para criar um novo jogo sempre que quisermos. Então, se eu estiver no meio de um jogo como este, podemos ver que se eu pressionar um novo jogo, seja redefinido para 0. Então é isso basicamente para o jogo de dados. Nos próximos vídeos, vamos começar a construir o front-end e depois vamos passar para o back-end usando as funções de cada um. Temos novo jogo, papel e conversa. E também temos algumas funções adicionais que vamos descobrir. Mas com isso dito, este é o fim deste vídeo introdutório para vê-lo nos próximos vídeos. 38. Jogo de pies: criando aplicativos: Então, bem-vindo de volta. Neste vídeo, vamos começar a construir nosso jogo de dados que vimos anteriormente. E vamos começar importando essas imagens. Então eu tenho a gravata S1, 23, 456. Então, vamos usá-los como números aleatórios, como discutimos anteriormente, para mostrar aos usuários qual número de dados eles obtiveram. E vamos começar a criar nosso aplicativo. Agora, a primeira coisa que vou fazer é importar, diz, vou importar do pi 35, que widgets QT, tudo. E vamos importar do Pi Codify. Vou importar a GUI do QT. Também tudo e ácidos que vamos importar também da bike 35, a GUI QT que temos e cutie core por enquanto. E finalmente vamos importar da pica 35 ou apenas limitar, basta adicioná-lo, certo, então conseguimos, estou apontando da Piketty quarta categoria, tudo. E vamos usá-los mais tarde. Mas, por enquanto, vamos começar com o aplicativo. Então, vou criar o aplicativo Q como de costume. E vou criar nosso widget de fila. Vou definir o título da janela. Então defina o título da janela no jogo de dados. E então vamos definir ou fixar a largura em 1000. Então esse conjunto. Agora, o que vamos fazer é também definir folha de estilo da nossa janela ou widgets para ser de fundo branco por enquanto, acredito que seja sempre branca, mas vamos adicioná-la. E o que vamos fazer agora é criar nosso primeiro botão, esse é o novo botão do jogo. E estará em uma caixa. E vamos apenas definir o atraso do nosso widget para serem as faíscas. Tudo bem, então para fazer isso, vou criar o novo botão de jogo do botão tipo q para ser novo jogo. E então vamos ter, ou vamos definir o cursor desse botão para apontar o cursor da mão. E isso nos ajudará. Vou mostrar primeiro o botão sem isso. E então vamos adicioná-lo e vê-lo ação. Então, o que vou fazer é simplesmente me deixar criar a caixa aqui. Então, caixa, será o layout Q vBox. E então o que vamos fazer é simplesmente adicionar esse widget na caixa. Certo? Agora, o que vamos fazer é simplesmente definir o layout do nosso widget para ser descartado que temos aqui. E, em seguida, vamos simplesmente sair do sistema executando o aplicativo. Tudo bem, então estamos bem. Agora, se eu for em frente e executar este jogo de dados, a torta, nós vamos pegar, eu gosto disso, certo? Então, não mostramos a janela. Agora, se eu executá-lo de novo, ponto de jogo de dados, py. Vamos conseguir algo assim. Este é o novo botão de jogo que temos. E não parece tão bom no momento. Então, vamos melhorar o estilo desse padrão. Agora, o que vamos fazer é simplesmente adicionar um ponteiro a este cursor ou um ponteiro para este botão. Portanto, observe que sempre que me deparar com esse novo botão de jogo, nada acontecerá com meu cursor. Agora, para melhorar isso, vamos simplesmente adicionar um novo cursor de jogo. Vamos adicionar cursor de sinalização e b de q t ponto q t, e então esse apontando e cursor. Tudo bem, então agora temos nosso cursor. Deixe-me executar isso de novo. E vamos ver que sempre que eu passar por esse botão, será um cursor de mão apontando, não como a cautela normal que temos. Tudo bem, então melhoramos isso. Agora, vamos mudar o estilo ou o CSS desse botão. Então deixe-me ir em frente e fazê-lo aqui. Agora, para CSS e Piketty cinco, o que você realmente precisa fazer é simplesmente usar a folha de estilos definida, assim como a que usamos aqui. Então defina a folha de estilos e duas, e depois para cima e dependências. Agora, dentro desses parênteses, vou criar nossa folha de estilos, e ela será desse tipo. Agora vou começar com a posição. Então, vou torná-lo absoluto. E deixe-me começar dizendo que você realmente não precisa entrar nos detalhes do CSS. Você só pode copiar isso daqui. E se você não estiver familiarizado com isso, não há problema, você pode simplesmente ir em frente e pegar isso e colocá-lo em sua folha de tamanhos. Porque no final do dia este é um tubo purificar, claro, não SCSS um, mas parece melhor ter uma boa aparência por 35 aplicativos. Então, se você for bom, você pode continuar comigo o tempo que quiser. Então, largura, teremos largura de 200 pixels. Você vai ter 50%, certo? E eu vou ter a cor neste. Parece bom. Agora, o que vamos fazer é simplesmente ter a família de fontes no dedo do pé. E então teremos o tamanho da fonte de 20 pixels. E vou ter que transformar texto em maiúsculas. E finalmente, vou definir o peso da fonte e para 300. Tudo bem, então agora deixe-me executar isso de novo. E temos alguns problemas aqui, certo? Então eu esqueci de adicionar este ponto e vírgula aqui. E deixe-me executar isso de novo. E vamos pegar nosso botão indicando que este é um novo jogo. Como podemos ver, temos o botão. É um botão bonito, mas sempre podemos remover as bordas. Então deixe-me adicioná-lo aqui. Então, vou ter que definir a fronteira para nenhuma. Certo? Então acredito que somos bons por enquanto. Tudo bem, então é isso. Basicamente, isso é para o primeiro botão. Uma edição pode ser apenas aumentar o tamanho da fonte sempre que passarmos mouse sobre esse botão. Agora, para fazer isso, podemos realmente fazê-lo de uma maneira bem simples. Vamos adicionar aqui um pairar. E vamos aumentar o tamanho da fonte de 20 pixels para 30 pixels. E agora deixe-me fechar esta corrida. E vamos ter a mesma coisa exata de antes. No entanto, quando eu passar o mouse sobre este, o tamanho da fonte aumentará para 30 pixels e definirá 20 pixels. Agora, isso é basicamente para o primeiro botão. Eu sei que levou muito tempo para apenas com um botão, mas termômetro, construímos todo o aplicativo com a caixa e assim por diante. Agora, no próximo vídeo, vamos começar criando o lado dos jogadores e adicionando os dados nele. Então é isso basicamente para este vídeo. Vejo você no próximo. 39. Jogo de pies: adicionando jogadores: Tudo bem, então bem-vindo de volta. Neste vídeo, vamos começar a construir o lado do jogador. Então, vamos começar com a construção dos rótulos do jogador um e do jogador dois. Então, vou fazer isso aqui. E vou ter que vir aqui, construindo rótulos do Jogador Um e dois. Aqui acabamos de construir o novo botão do jogo. Então eu vou ter que dizer, bem, então o novo botão do jogo. Tudo bem, então estamos bem. Agora eu disse que vamos construir um rótulo par e ele será de q rotulado como de costume. E isso dirá o jogador um. E então temos o Jogador 2. A mesma coisa para rotular e exibir Platão. Tudo bem. Agora, o que vamos fazer é simplesmente adicioná-los em uma espécie de layout, que é um layout de grade porque temos tantos elementos que precisamos adicionar. E não podemos adicioná-los vertical ou horizontalmente porque precisamos deles em uma forma de tabela. Então, a primeira coisa que vou fazer é simplesmente criar uma grade será um layout de grade de QC. E agora dentro desta grade, vou adicionar o Jogador 1 e o Jogador 2. Tudo bem, então, para fazer isso, vamos adicionar um widget. E esse widget será se o jogador um e adicionará outro widget para Platão. Agora, se eu for em frente e executar isso, deixe-me fechar este e tentar isso novamente. Podemos ver que nada aconteceu porque realmente não adicionamos esse código ao layout. E já temos um layout para este inverno, que é a caixa. Tudo bem, então, para lidar com isso, o que podemos realmente fazer é simplesmente criar ou adicionar essa grade na bossa que temos. Então, vou fazer isso aqui. Então, coloque isso, adicione layout e vamos adicionar o código que acabamos de criar. Tudo bem, então agora se eu executar isso de novo, verei que temos o novo botão de jogo e temos o jogador um e o jogador dois. Agora observe que eles estão em uma grade, no entanto, eles olham verticalmente nessa grade. Temos o par um aqui e dois aqui. Agora, o que você pode realmente fazer sobre isso é simplesmente adicioná-los de forma horizontal. Portanto, a grade é realmente construída de maneira padrão usando a horizontal ou a vertical primeiro. Agora, o que você pode realmente fazer é adicionar parâmetros a essa grade. Então, precisamos do Jogador 1 no índice 0. Então esta é a linha. E nós temos, precisávamos em zeros de coluna. Tudo bem, então o jogador 2 estaria na linha 0 e na coluna um para isso. Agora, se eu for em frente e executar isso de novo, vou conseguir algo assim. E eles não estão realmente centrados. Então, o que podemos fazer sobre isso é simplesmente centralizá-los sempre que criarmos esses botões. Assim, podemos fazer isso simplesmente escrevendo um jogador que defina o alinhamento. E vamos usar o código QT para isso. Então, cutie, vá ponto QT e depois alinhe o centro. Então vamos fazer exatamente a mesma coisa para o segundo. Cutie, cutie que alinha, certo, alinhe o centro. E estamos prontos para ir. Agora vamos fechar essa corrida. E vamos ver o jogador um e o jogador dois centrados na forma do crédito que temos. Tudo bem, então é isso basicamente para o Jogador 1 e o Jogador 2. Agora vamos alterar o tamanho usando CSS. Então, o que vou fazer é simplesmente usar a função que usamos folha de estilo SAT anterior para abri-la e vamos começar a construí-la. Tudo bem, então a primeira coisa que vou fazer é enviar, definir o tamanho da fonte em 40 pixels. Então vou simplesmente usar a transformação de texto e para maiúsculas. E então vamos ter espaçamento entre letras entre as letras. Então, vamos ter espaço de dois pixels. Acho que vai ser bom. E então teremos que usar a margem superior para apenas diferenciar ou adicionar alguma margem entre os jogadores e o botão ou um novo jogo. E vou adicionar 20 pixels por enquanto. Então temos margem inferior. Serão 10 pixels. E a posição será relativa. Certo? Acho que estamos bem agora. Só temos o peso da fonte de um 100 por enquanto. Agora vamos fechar isso novamente. E vamos conseguir algo assim. Parece um pouco melhor do que o anterior. Então, aumentamos o tamanho, peso da fonte e a posição dele. Tudo bem, então agora vamos fazer exatamente a mesma coisa por Platão. Então, vou copiá-lo, colá-lo e apenas mudar isso aqui. Tudo bem, agora divulgue e visualize mais uma vez. E temos que ir, então temos nossos jogadores. Este é o trabalho que vamos usar. Agora, o que vamos fazer é simplesmente adicionar a pontuação de ambos os jogadores. Então, temos pontuação aqui e aqui. E vamos fazer exatamente a mesma coisa que fizemos antes. Vamos criar um rótulo e depois atribuir um centro de alinhamento. E então vamos mudar o estilo disso. Então, vou nomear uma pontuação. Ele será do rótulo Q e começará com 0. E temos pontuação para também o rótulo Q e procuramos com CO2. Tudo bem, então eu vou copiar isso e base ou duas vezes. São quatro pontuações um. E isso é para a pontuação dois. E agora, se eu for em frente e executar isso de novo, vou conseguir algo como, desculpe, nós realmente não adicionamos isso para degradar. Então, deixe-me ir em frente e adicioná-lo aos critérios de consulta. Agora lembre-se de que o primeiro parâmetro é o elemento real dos widgets que precisamos adicionar. Então, temos mais dois parâmetros. O primeiro é para a linha, eu preciso disso na verdade, faça isso no índice um. E então vamos adicionar 0 aqui. E, claro, se eu precisar adicionar a pontuação dois, vamos adicioná-la também na linha 2, que está no índice um. E a coluna deve estar no índice 12. Tudo bem, então agora deixe-me fechar isso e vamos correr de novo. E vamos conseguir nossos rótulos para a pontuação do jogador um e do jogador dois. Agora vamos ajustar o estilo deles. Então, vou seguir em frente e fazer isso muito rápido aqui. Agora, depois de criar o discurso de barco e definir o alinhamento, vou adicionar aqui uma pontuação, que define a folha de estilos em. E vamos começar construindo desta vez aqui. Então, vamos ter o tamanho da fonte de apenas 80 pixels por enquanto. Em seguida, temos o peso da fonte como antes de um 100. E vamos ter a cor. Vou usar essa cor por enquanto para D. D, e pense, parece bom. Então, temos a margem inferior de 130 pixels por enquanto. Tudo bem, acho que estamos prontos para ir. Deixe-me fechar esta corrida novamente. Assim, podemos ver que temos nosso número que tem 0 por enquanto, para o Jogador 1. Agora vamos ajustar isso para. Então, vou copiar a pontuação um e simplesmente mudá-la para Scott para fechar desenhado à mão. E vamos ver que temos nossos botões. Jogador Um é pago como rótulos e essas pontuações também. Tudo bem, então é isso basicamente para construir nossos dois jogadores por um ou jogador dois e a pontuação. Agora, no próximo vídeo, vamos construir os botões para rolar todos os dados. Vamos adicionar algumas imagens e vamos adicionar a pontuação atual de ambos os jogadores. Então é isso basicamente para este vídeo. Vejo você no próximo. 40. Jogo de pies: score e dates: Tudo bem, então bem-vindo de volta. Neste vídeo, continuaremos nosso aplicativo 535 ou o jogo de dados. Agora, o que vamos fazer é adicionar um pouco de pensamento de caixa aqui e exibir a pontuação atual do jogador. Então, vamos começar com este que vou fazer é simplesmente adicioná-lo aqui. Vou nomeá-lo jogador um, pontuação atual. E será o rótulo Q. E vou tê-lo em 0 no início. Jogador para a pontuação atual. E os adultos também seriam um q rotulado um valor de 0, 2. Tudo bem. Agora temos nosso status de trabalho dois, adicioná-los a isso. Então, vou adicionar o primeiro widget, que é o jogador um, atual. E observe que tudo relacionado ao jogador 1 está na coluna 0 aqui. E tudo relacionado ao jogador 2 está na coluna um. Tudo bem, então vamos adicioná-lo no índice dois da linha e 0. E então também vamos adicionar para o jogador dois. E também estará no índice 2 e na posição da coluna 1. Tudo bem, então vamos fechar isso e executar isso novamente. E vamos conseguir isso. Agora observe que eles não estão no centro, então deixe-me melhorá-lo ou modificá-lo. Então, jogador um, alinhamento de pontuação atual. E será um núcleo cutie que alinhamento UT, como de costume, que alinhe o centro. Vou copiar isso e apenas mudar aqui do jogador um para o jogador dois. E nós começamos a ir, deixe-me executá-lo novamente. E nós conseguimos, então temos isso aqui. E vamos ter uma sintaxe ou estilo ligeiramente diferente para eles. Porque lembre-se de que esses são os valores finais ou originais e esses são os valores atuais pagos em um único conjunto no jogo. Então, vamos entrar na folha de estilos do jogador um, pontuação atual. Essa folha de estilo definiu como de costume. E vamos começar abrindo os parênteses como de costume e simplesmente adicionaremos aqui. O que vamos fazer é simplesmente definir o tamanho da fonte em 30 pixels. E então vamos definir a altura em 20 pixels. A cor de fundo seria essa. Aquele que usamos para o rótulo antes. E a cor real será FFF, certo? E agora o que vamos fazer é simplesmente aumentar a largura. E vou defini-lo para 40%. Por enquanto, a margem seria 0. E preenchimento automático de 20 pixels por enquanto e o texto. Tudo bem, então nós, nós definimos isso antes, então não precisamos disso aqui. Agora, deixe-me fechar isso e verificar. Executar. E vamos buscá-lo aqui. Então, como você pode ver, temos nosso jogador 1, a pontuação e a pontuação atual aqui. Agora podemos fazer exatamente a mesma coisa por Platão. Então, vou apenas copiar isso e apenas mudei, mude aqui de mais um para mais dois. E nós começamos a ir. Agora deixe-me fechar esta corrida. E vamos conseguir isso como nosso aplicativo 535 por enquanto. Agora o que vamos fazer é adicionar os dados aqui. Então, vamos adicionar dois dados. O primeiro estará nessa posição, por exemplo, e o outro estaria aqui. E vamos adicionar os botões neste jogo. Os botões são o rolo para rolar os dados, e nós temos o controle para apenas fazer o jogador segurar o que temos na corrente. Então, vamos transferir daqui para aqui. Portanto, não se preocupe com essas funções. Vamos fazê-los mais tarde, mas por enquanto, vamos apenas construir o backend, desculpe, o front-end do nosso jogo de dados. Tudo bem, então deixe-me começar com a construção das imagens. Então começamos construindo pontuações de camadas profundas, e temos aqui as pontuações atuais. Agora vamos fazer isso aqui. O que vou fazer é simplesmente adicionar MHC1 e será Q picks map dos dados, 1 ponto PNG. E então temos a Imagem 2. Vou fazer escolhas de fila aleatoriamente, mapa. Dice to the PNG por enquanto, vamos mudar isso mais tarde, quando o jogo começar. Mas, por enquanto, temos essas duas imagens. Agora vamos armazená-los em um rótulo. Então, vamos ter, talvez eu vá nomear a imagem de um rótulo e ele será do rótulo Q. E o que vamos fazer é simplesmente adicionar a ele. Então, vamos definir o mapa de picks na imagem1 que acabamos de obter daqui. E vamos fazer exatamente a mesma coisa para o MHC2. Portanto, a imagem para rotular será do tipo de etiqueta Q e vamos adicionar a ela. Então, imagem para rotular que definiu o mapa de Beck na Imagem 2. Tudo bem, então temos as duas imagens. Agora, precisamos adicioná-los à grade. E a posição mais ideal para esses dois dados está no centro aqui. Agora lembre-se de que temos a grade e temos a coluna um, e é isso. E você também tem a segunda coluna aqui. Então, o que vamos fazer é simplesmente mudar ou mover isso para uma terceira coluna e depois adicionar os dispositivos na coluna 2. Então, para fazer isso, o que vamos mudar aqui é tudo relacionado ao jogador2. E vamos mudar a posição da coluna de duas, de um para dois. E é isso basicamente. Agora, se eu for em frente e executar isso de novo, veremos que não mudamos nada por enquanto, porque realmente não adicionamos nada no meio. Então, agora, se eu for em frente e adicionar os widgets aqui. Então, vamos adicionar imagem um trabalho à posição desta aqui. Portanto, está na linha 0 e apenas na coluna um. Tudo bem, então vamos fazer isso aqui, 01 e o segundo também será um TRO, certo? Portanto, o rótulo MHC2 estará na linha um desta vez e também na coluna 1. Agora vamos fechar isso e executá-lo novamente. E vamos ver que temos nossas imagens aqui. Eles são grandes demais para o jogo, mas acabamos de colocá-los no meio desses dois, Jogador 1 e Platão. Tudo. Então, agora vamos melhorar ou vamos diminuir o tamanho dessas imagens. E uma maneira de fazer isso é usar a função dimensionada que temos para a imagem. E se eu usá-lo aqui, por exemplo, image1, essa escala. E eu vou ficar, escapar deles para 80 por 84 agora. E vou fazer exatamente a mesma coisa que antes para a imagem 2. E agora observe que, mesmo que eu execute esse código, deixe-me executá-lo novamente. Nada acontecerá porque realmente não alteramos o tamanho da imagem, porque esse método realmente retorna uma nova imagem que é dimensionada para 80. 80. Tudo bem, então também vou salvá-lo no MHC1, e vou salvar isso na imagem dois. Então agora atribuímos MLH1 e MSH2 a novas imagens de escala 80 por 80, largura e altura. Tudo bem, então agora vamos fechar isso de novo. Executar. E vamos descobrir que nossas imagens agora são menores do que antes. E altura e largura deles como 80. Tudo bem, como antes, deixe-me ajustar este rótulo Q. Então, vou simplesmente usar a imagem rotulada. E eu vou definir o alinhamento em cutie, cutie dot align center. E vou fazer exatamente a mesma coisa para a imagem 2. E estamos prontos para ir. Deixe-me fechar esta corrida novamente. E esse conjunto, basicamente, este é o dado 1 e este é o dado 2. Tudo bem, então podemos ver que os dados 1 e o novo jogo estão praticamente próximos um do outro. Então, talvez precisemos ter alguma margem ou espaço entre eles. E vou fazer isso simplesmente mudando a folha de estilos. Então, vou usar a folha de estilos definida que usamos anteriormente. Então deixe-me ir em frente e fazê-lo aqui. Então, temos imagem um e imagem dois trabalho. O que vou fazer é simplesmente mudar o preenchimento aqui. Então essa folha de estilo definida. E vou transformá-lo em, bem, então estamos prontos para ir. Agora. Vamos alterar o preenchimento em 100 pixels para cima e zeros para a direita, inferior e esquerda. Certo. Agora estamos prontos para ir. Agora, se eu for em frente e fechar esta corrida novamente, veremos que temos uma grande boa quantidade de espaço entre o novo jogo e os dados que temos aqui. Tudo bem, então é isso basicamente para os dois dados e isso sendo satisfeito no final deste vídeo e no próximo, vamos construir os últimos elementos. E eles são os botões para rolar e segurar. E vamos acabar praticamente com este front-end do jogo de dados. Vamos continuar construindo o back-end e usá-lo em nosso jogo. Então é isso basicamente para este vídeo. Vejo você no próximo. 41. Jogo com pie: botões de retenção e roll: Olá e bem-vindo de volta. Neste vídeo, vamos continuar construindo este jogo de dados. Então, temos dois dados. O primeiro dado é o único aqui, e o segundo está louco agora, mas eu estava pensando em adicionar os botões de rolar os dados e o botão de segurar aqui. Então, depois do segundo morrer aqui. Tudo bem, então o que vamos fazer é simplesmente colocar isso. Vou começar simplesmente criando os dados de rolagem. E será um botão de fila da linha do rótulo. E nós temos o botão segurar para pressionar e ele dirá Hold. Agora, depois de construir esses dados, o que vamos fazer é também colocar o cursor no cursor da mão apontando para ambos. Então, role dados. E vamos definir o cursor em Q, cursor e cutie. Cutie, que aponta e cursor. Tudo bem, então estamos prontos para ir agora, deixe-me adicionar isso para os dois inteiros. E é claro que precisamos adicionar isso ao crédito real que temos. Então deixe-me ir em frente e adicioná-los aqui. Tão ótimo, esse widget de adição. Vou adicionar os dados de papéis na posição da linha dois e o índice da coluna um. E então vamos adicionar a mesma coisa para o buraco. Vamos adicioná-lo na linha três e na coluna um. E acho que estamos prontos para correr. Agora, como podemos ver, conseguimos o papel e mantemos aqui. E vamos transformá-los em iniciados. Temos quatro novos jogos agora. Agora vamos dar uma olhada rápida e a grade que acabamos de criar. Então, se eu colocá-lo aqui, podemos ver, tudo bem. Agora, como podemos ver para o Jogador 1, todos os elementos que estão para exibição são realmente exibidos na coluna um. Portanto, a coluna um está no índice 0. Então, tudo para o jogador um está no índice da coluna um em 0. Então, como você pode ver, temos aqui 0, 0 e 0. E então tudo relacionado ao jogador 2 está na verdade na coluna 2, na coluna de índice 2, que está aqui para dois e também faz aqui. E quanto aos dados e aos botões, nós os temos no meio, que é o índice um para a coluna. E como você pode ver aqui, ele, eles são MHC1, MHC2, rolam dados e seguram todos eles na coluna um. Então é isso basicamente para a grade que temos por enquanto. Agora vamos melhorar a folha de estilo do Holt e também todos os dados. Então vou em frente e copiar tudo da nova folha de estilos de jogo. E vou colá-lo aqui. Vou mudar isso em dados de rolagem. E eu vou fazer isso de novo para também o hold one. Certo, então estamos bem agora deixe-me fechar esta corrida novamente. E podemos ver que agora temos os dois botões, estrada e segure aqui. Então é isso basicamente para o front-end do jogo. Como você pode ver, temos os dois jogadores. Temos a pontuação atual, temos os dados reais. E, claro, o papel final e os botões de espera onde vamos rolar para usar isso, que é jogar e segurar sempre que ele escolher. Tudo bem, então é isso basicamente para o front-end, o próximo vídeo começará a construir o backend deste jogo. E vamos vinculá-lo ao front-end criar o jogo real e jogá-lo. É isso basicamente. Vejo você no próximo vídeo. 42. Jogo de pie: role o botão de dice: Olá e bem-vindo de volta. Neste vídeo, vamos começar com o back-end do nosso jogo de dados. E então eu começo simplesmente criando as funções que vamos usar sempre que desfazer o botão. Então deixe-me executar isso uma vez. E como podemos ver, temos o novo jogo, rolar e segurar, e precisamos criar funções para cada um deles. Então, o que vamos fazer é simplesmente começar com o rolo. Vou seguir em frente e simplesmente criar. E eu vou fazer isso aqui. Então, temos o botão de rolagem de dados. E sempre que os dados de rolagem forem clicados, vamos conectá-lo a uma função que é, talvez apenas rolar os dados. E acho que estamos bem. Agora, o que vamos fazer é começar usando a função aqui. Então, vou criar uma função, e isso vai rolar os dados. E vamos começar alterando os parâmetros ou a pontuação que temos aqui e aqui de acordo com o papel que temos. Agora, vamos apenas tomar um momento e pensar nisso. Então, sempre que o usuário atribuir esses dados, vamos mudar as imagens dos dados. E vamos obter imagens aleatórias de um a seis. Mostrei-os aqui e adicione-os ao que temos no atual aqui. Tudo bem, então, para fazer isso, o que vamos precisar é simplesmente armazenar essas pontuações de cada jogador. Então, vou criar duas matrizes ou duas listas. O primeiro será a pontuação do jogador. E para ser zeros, vou explicar em um minuto e fazer isso. O segundo será a pontuação atual do jogador. E também será instanciá-lo para 0. Agora, vou adicionar um índice para o jogador atual, e ele será o primeiro jogador por enquanto. Agora, eles realmente representam os parâmetros desse código que temos aqui. Tudo bem, então a pontuação do jogador representa a pontuação real do jogador um e do jogador dois. Então, o jogador um tomará o índice 0 e Platão terá o índice 1. E joga a pontuação atual é na verdade este. Então, Jogador um, este é 0, é este. Então, jogador 2, é este. Então, vamos em frente e alterá-los dentro dos rótulos que temos, certo? Portanto, temos rótulos Q para o jogador um e o jogador dois. E também temos quatro pontos um é CO2. Então, vou mudar isso para atual, desculpe, pontuação do jogador em 0 e a pontuação do jogador em um. E vamos continuar todo o caminho até jogar. Uma pontuação atual. Não seria a pontuação atual do jogador como 0. E nós temos a pontuação atual dos jogadores em um só. E é isso basicamente agora nós mudamos os valores em valores reais. Agora, se executarmos esse código, vamos notar que teremos um erro. E isso é porque simplesmente usaria, sinto muito, não me deixamos apenas comentar isso e executá-lo novamente. E vamos receber esse erro porque o rótulo DQ pega uma string e atribuímos um inteiro em vez de string. Então, para lidar com isso, vou adicionar STR aqui. E vamos fazer exatamente a mesma coisa para este aqui. Agora estamos prontos para ir. Armazenamos string dentro do rótulo da fila e tudo deve funcionar bem. Tudo bem, então temos mais um, que é rolar os dados porque acabamos de criar essa função. Vou comentar isso. Agora corra. E nós conseguimos, então é isso basicamente agora tudo é como antes. No entanto, mudamos os valores de talvez estáticos para dinâmicos que mudam ao longo do tempo alterando os valores aqui. E essas listas. Agora, vamos começar com a função roll the dice. Agora, o que vamos fazer no início são dois. Basta criar Die 1. E isso será aleatório, e vamos apenas importar aleatoriamente aqui. Esta é uma biblioteca Python. Agora aleatório.random. E agora vamos ter um número aleatório entre 16 e I2 será o mesmo aluguel e entre 16. Agora o que vamos fazer é simplesmente imprimir isso para ter uma ideia desses dados por tão dados. E vamos adicionar morrer um e morrer dois. E vamos apenas visualizá-lo. Então, vou fazer com que o método colete e comente, certo? E estamos prontos para ir. Vamos clicar nele. E é isso. Agora, se eu pressionar em linha, veremos que temos dados aleatórios cada vez que pressionarmos este botão. E estamos prontos para ir. Agora, o que devemos fazer é realmente armazenar esses valores dentro do que temos mais o valor original que temos na corrente. Tudo bem? E isso depende do jogador. Por exemplo, se o jogador um estiver jogando, devemos adicionar isso aos jogadores uma pontuação atual. E vamos fazer exatamente a mesma coisa para. Agora, vamos voltar e começar com isso. Então o que vamos fazer é simplesmente verificar primeiro, se um dos dados é igual a um, então vamos simplesmente sair dessa função porque sempre que tivermos um dy igual a um, isso significa que a pessoa ou o usuário perdeu essa rota. E não vamos adicionar nada à pontuação final. Vamos simplesmente redefinir a pontuação atual desse jogador. Então, vamos seguir em frente e fazê-lo. Portanto, o IDE um é igual a 1 ou di2 também é igual a um. O que vamos fazer é simplesmente definir a pontuação atual dos jogadores em 0. Tudo bem, agora deixe-me explicar isso daqui a pouco. O que realmente fizemos aqui é que chamamos os jogadores de pontuação atual. E temos em vigor a pontuação atual, tanto as pontuações do jogador um quanto do jogador dois. Então, neste aqui, como dissemos, temos o Jogador 1, que é este, e o jogador dois, que é este. E vamos definir isso como 0. Então, seja qual for a corrente que tenhamos, seja qual for a jogada que tenhamos deste jogador atual, vamos simplesmente configurá-lo para 0. E o que vamos fazer então é verificar se o jogador atual é o jogador. E como fazemos isso? Vamos verificar se a camada atual é igual a 0. Isso significa que é o jogador um. E vamos definir o botão de pontuação atual ou o rótulo de pontuação atual e 200. Então, para fazer isso, vamos simplesmente declarar a pontuação atual do player1 set , que setText. E vamos defini-lo como 0. E também vamos mudar o jogador para o jogador 2 porque o Jogador 1 perdeu. Então, o jogador atual será do índice um aqui. Agora, não se confunda com isso porque o jogador atual é igual a 0. Isso significa que este é o jogador 1. E atualmente igual a um significa que este é o jogador dois porque começamos no índice 0. Agora, se este não for o caso, o que vamos fazer é definir o jogador para a pontuação atual em 0. E vamos simplesmente mudar o jogador atual e 200 neste caso. Agora, observe que talvez tenhamos apenas um erro aqui porque Kepler não está definido e temos esse problema relatando variável indefinida. E este é o player atual que é uma variável global. E precisamos defini-lo se quisermos alterá-lo ou quando usá-lo aqui. Então, para usá-lo, podemos simplesmente secá-lo global e escrever o nome da variável e estamos prontos para ir. Agora, como podemos ver, resolvemos o problema para sempre que tivermos um dado, vamos simplesmente definir a pontuação atual de onde quer que o jogador tenhamos e 200, e depois alterá-lo no trabalho que temos no arquivo Piketty. E agora o que podemos fazer é continuar nosso código ou nossa função se não tivermos dados iguais a 0. Tudo bem, então agora o que vamos fazer é simplesmente mudar as imagens para os dados aleatórios que temos aqui. Então, vamos alterar a imagem um rótulo, e vamos definir o mapa de escolhas na nova imagem. Então, vamos usar o mapa q picks. E a imagem será, vamos começar com dados traço. Vamos alterar o número. O que quer que tenhamos em morrer um. Então, vamos escrever dados, traço. Então vamos adicionar SDR, morrer um. E então vamos adicionar esse PNG. Então é isso. Basicamente, precisamos também escalá-lo. Então, vou seguir em frente e fazer isso aqui. Então isso escalou e estamos prontos para ir. Quem pode escalá-lo em 80 por 80. E vamos fazer exatamente a mesma coisa com a imagem 2. Então escolhe o mapa e será um mapa cúbico. E vamos ter dados, traço mais STR, o i2. E vamos adicionar mais pontos PNG. E isso foi escalado para 80,80. Tudo bem, então agora mudamos as fotos. Deixe-me ir em frente e executar isso de novo. Então, sempre que rolamos o dado, podemos ver que as imagens mudam. No entanto, não temos valores aqui. A pontuação atual ou defina o escopo das declarações. E precisamos melhorar isso ou modificá-lo. Então, agora o que vamos fazer é verificar se o jogador atual é o jogador um. E como fazemos isso? Podemos simplesmente nos perguntar, se o contador é igual a 0. Se for esse o caso, o que vamos fazer é definir a pontuação atual do jogador um em tudo o que temos dentro desta pontuação atual mais esses morrem aqui. Tudo bem, então vamos fazer isso. Se o jogador um estiver jogando, então jogador uma pontuação atual, que setText. E vamos defini-lo na sequência de, você terá a pontuação atual do jogador1, que na verdade é uma string. E nós vamos apenas adicionar a ele esses morrem e morrerem. Portanto, lembre-se de que a pontuação atual do jogador 1 ponto é uma string. Então, se eu extraí o jogador queria que o Skoda atual receba, sinto muito, o texto. Então, se eu conseguir isso e tentar adicionar D1 e D2 a ele, vamos receber um erro porque fazemos, não podemos simplesmente obter isso mais isso. Precisamos concatená-los como uma string ou precisamos converter isso em um inteiro. E para fazer isso, vou simplesmente adicionar anti-A. E estamos prontos para ir. Então, se eu tentar executar isso, vamos encontrar outro problema, que é que não podemos adicionar um número inteiro para detectar aqui. Então, precisamos converter tudo isso em uma string. E agora estamos prontos para ir atrás disso. O que podemos realmente fazer é também adicionar o dado e morrer, no menos que temos. Então lembre-se de que estamos no primeiro jogador. O que podemos realmente fazer é simplesmente adicionar dois jogadores pontuação atual ao jogador atual que vamos adicionar a ele, o di1, di2. Então é isso basicamente agora o que podemos realmente fazer é verificar se este não é o caso, vamos simplesmente fazer exatamente a mesma coisa com o segundo jogador. Então setText, STR, e vamos ficar desfocados para a pontuação atual, esse texto. E vamos adicionar a ele, morrer um, morrer dois. Tudo bem, então acho que estamos prontos para ir por enquanto. Só precisamos simplesmente adicionar isso ao atual. Ou podemos, porque isso é o mesmo para ambos, mas podemos realmente fazer é adicioná-lo aqui. Então, em vez de digitá-lo duas vezes, vou apenas pegá-lo e usá-lo aqui. Então eu acho que estamos prontos para ir a imagem, basta ajustar isso e, e é isso basicamente para o rolo dos dados. No próximo vídeo, vamos experimentá-lo e começar com a próxima função. Então, vejo você. 43. Jogo com pie: a o jogo e botões vencedores: Tudo bem, então bem-vindo de volta. Neste vídeo, continuaremos construindo as funções do nosso jogo. Mas, por enquanto, vamos ver o que temos disso. Role os dados. Então, sempre que eu pressionar o papel, veremos que ele está mudando. Também podemos ver que temos aqui o número real desses para pressioná-lo. Mais uma vez, podemos realmente ver no comando aqui que temos uma função de dados de um e rolo. Então é por isso que definimos tudo em 0. Agora, o que vamos fazer é criar uma função para todo o botão. Porque mesmo que eu cheguei a 2003 e eu queira segurar, nada acontecerá. Basta continuar rolando até eu obter o 0. E então a posição muda de qualquer jogador jogando para o outro. Agora, usando a função de espera, podemos simplesmente mudar ou o usuário pode simplesmente escolher isso. Eles não precisam mais rolar. Só quero aguentar por enquanto. E vou nomear a pontuação de espera. E nesta função, a primeira é pensar que vou fazer é simplesmente ter a camada atual global. E vamos começar simplesmente mudando a pontuação do jogador para o que tivermos, uma rede mais a pontuação atual do jogador. Portanto, a pontuação do jogador será do jogador atual, o que é igual ao que declaramos. A pontuação do jogador mais a pontuação atual dos jogadores. O CarPlay. Isso significa que, se o jogador um estiver jogando, por exemplo, e ele quiser segurar, o que vamos fazer é simplesmente adicionar à pontuação do par, que é esta no jogador atual. Então, é isso. Vamos adicionar a ele o que tivermos nele, mais a pontuação atual aqui. E agora o que vamos fazer é simplesmente definir a pontuação atual dos jogadores e 200. Tudo bem, então é isso. Basicamente, isso é o que devemos fazer. Agora, mesmo se executarmos isso, não vamos conseguir nada porque na verdade não mudamos os rótulos que temos em nossa tela. Então, precisamos também mudar isso. Lembre-se de que esta é a lista que temos aqui. Eles foram, eles estão aqui para nos ajudar nas funções e na adição, porque os rótulos reais são do tipo string e podemos realmente fazer muito com eles. Então é por isso que acabamos de criar isso. Agora, o que vamos fazer é simplesmente verificar o usuário que está jogando. Portanto, se o jogador ou o jogador atual for igual a 0, isso significa que este é o jogador 1. Vamos simplesmente definir o jogador uma pontuação atual em 0 porque não precisávamos mais. E o que vamos fazer é simplesmente definir também a pontuação uma, que é a pontuação global aqui, N2. Então, setText N2. E vamos defini-lo para o que tivermos na pontuação do jogador, onde quer que adicionemos aqui. Então, para ser do tipo pontuação do jogador STR no jogador atual. E depois disso, depois de segurar, vamos simplesmente mudar a camada profunda do que, de 0 para um. Agora, se esse não for o caso, isso significa que este é o jogador dois jogando. Então, vamos definir o imposto do jogador 220. E a pontuação do jogador dois será o que temos na pontuação do jogador e o jogador atual que está jogando. E depois disso, precisamos mudar o jogador de um para 0. Agora certifique-se de que você altere o jogador na última linha da declaração if, porque caso contrário, vamos usá-lo aqui e vamos ficar confusos porque este é o principal. E se você mudar para o par dois, vamos obter a pontuação do jogador dois e adicionar a ela. Portanto, certifique-se de que esta é a última linha de suas declarações. Tudo bem, então é isso basicamente para o todo. Agora, se seguirmos em frente e executá-lo, então deixe-me adicioná-lo rapidamente aqui. Rir, rolar dados, segurar isso clicado. Conexão de ponto. E vamos ter pontuação de espera. Agora vamos fechar este r1. E vamos ver que sempre que eu pressionar em espera, vamos pegar tudo daqui e colocá-lo aqui. Agora, se eu correr. Role novamente. Podemos ver que este é o Jogador 2. No entanto, temos um aqui. Então é por isso que Platão nunca jogou. Mas se eu pressionar e segurar, e depois mais uma vez poderemos ver que este é o jogador dois jogando agora e segure. E nós não recebemos, tudo bem, então recebemos um erro porque a pontuação para o SetText na pontuação do jogador. E isso ocorre porque na verdade não adicionamos uma string aqui. Então agora vamos correr novamente. E como podemos ver, temos 10 e assim por diante e assim por diante. Então é isso. Basicamente, temos agora nossas principais funções, esse é o papel e manter os dados. Agora, o que vamos fazer é realmente adicionar uma função para este novo jogo aqui. Então deixe-me adicioná-lo aqui. Agora, essa função será a principal função em que vamos criar o novo jogo. Então, vamos pensar sobre isso por um segundo. E você ganha seria definir tudo em 0. Então crie um novo jogo. E este será simplesmente usar a atual do jogador atual e dos jogadores e a pontuação do jogador. E vamos usar todos eles, colocá-los na Xerox. Portanto, o jogador atual seria igual a 0. A pontuação atual dos jogadores também seria igual a 0 e menos pontuação igual a 0 também. Agora, observe que mesmo se executarmos isso, mesmo se definirmos tudo em 0, se eu rolar os dados e segurar Arquivo, clicar em Novo Jogo, nada acontecerá. E isso é porque na verdade não mudamos o rótulo que temos aqui. Então, para fazer isso, vamos simplesmente usá-lo aqui. Então, jogador um, pontuação atual, vamos definir o texto em 0 e, em seguida, fazer a mesma coisa para ocorrer. E 0. Depois disso, também vamos definir a pontuação 1 para 0. E, finalmente, a pontuação dois também seria 0. Tudo bem, então eu acho que estamos prontos para ir agora, se eu executar isso de novo e apenas rolar uma vez, espera, e vamos rolar aqui espera. E como podemos ver, temos 617 oito se eu pressionar um novo jogo, certo? Então, nada acontecerá porque realmente não adicionamos essa função aqui. Então deixe-me adicioná-lo muito rápido. Você jogo que coleciona e se conecta para criar um novo jogo. Desculpe por isso. Agora corra. Role, segure, segure, segure. E se eu pressionar um novo jogo, eles serão redefinidos em zeros. Então é isso basicamente para o novo jogo, rolar e segurar. Agora também temos outra função e isso é verificar o vencedor. Então deixe-me ir em frente e escrever uma bandeja rapidamente aqui. Então verifique o vencedor. E vamos verificar o para cada vez que o usuário pressionar, pressionar em segurar. Então, vamos tomar a camada atual como global. E vamos verificar se a pontuação do jogador no jogador atual é maior ou igual a 100. Se for esse o caso, isso significa que o jogador já ganhou. E vamos simplesmente verificar qual par já ganhou. Então, se este for o jogador 1, vamos definir o texto do Jogador 1 e 2, vencedor e definir o texto em um a dois. Agora, vamos seguir em frente e executar isso. Desculpe, aqui para um texto para o jogador dois, vou verificar se este é o jogador 1 e exibir dois. Agora vamos seguir em frente e executar isso e vamos encontrar alguns problemas que precisamos depurar. Tudo bem, então, no início, precisamos adicionar o vencedor do cheque a toda a função. Como dissemos, precisamos verificar cada vez que o usuário mantém. Então, se exceder 100, então vamos simplesmente mudar o 12. Tudo bem, então deixe-me executar isso de novo. E como podemos ver, se tivermos 17, vamos buscá-lo aqui. Então vamos rolar novamente, camada para camada um e assim por diante e assim por diante até atingir o número real de 100. Agora, como você pode ver, nós temos aqui, tudo bem, então 82 mais 41 é realmente maior que um 100. No entanto, se eu pressionar e segurar, nada acontecerá. Temos um 123 aqui. Exagerado dois ainda não é o vencedor. E se eu continuar, e eu também tenho aqui um 105. Então, se eu pressionar segurar novamente e pressionar, então novamente, veremos que temos o vencedor aqui. Agora isso ocorre porque verificamos o vencedor de acordo com a pontuação real aqui. Na verdade, não estamos adicionando o código de latas que temos um momento que temos. Nós tínhamos 81 mais algo nos anos 40. Então, precisamos adicionar 81 mais 40 e, em seguida, verificar se ele excede 100. Então deixe-me ir em frente e fazer isso aqui. Portanto, é a pontuação do jogador no jogador atual além de que vamos conseguir a pontuação atual dos jogadores. Também o jogador atual. O total desses excede 100. Isso significa que estamos no caminho certo e este é o real quando um não, deixe-me executá-lo novamente. E vou verificar isso muito rápido. Desta vez. Temos 29 e 17. E eu vou ter tudo bem, então vamos ter aqui 83 e também temos 25. Portanto, o total entre eles é absolutamente maior que um 100. Então agora, se eu pressionar e segurar, vamos ver um 108. E este é o único. Agora, a segunda parte que temos é que terminamos este jogo e queremos criar um novo. Então, se eu pressionar neste novo jogo, vamos definir tudo como 0. No entanto, podemos notar que o jogador dois também é simplesmente trabalhado. Então, vamos seguir em frente e corrigir isso no jogo criar novo aqui. Então vou definir player1, que setText e para o jogador 1, player 2, que definem S na camada dois. Tudo bem, então é isso basicamente. Agora, se formos em frente e executarmos isso novamente, e se continuarmos construindo isso. Então eu vou talvez, vou apenas diminuí-lo para, por um pouco aqui em 25, só por causa deste exemplo. Então, agora quem chegar a 25 como o verdadeiro vencedor. Então, em 1912 mais 70 e espera, este é o vencedor. Agora, se eu criar um novo jogo, tudo será definido em zeros e incluindo os rótulos do jogador um e do jogador dois. Então é isso basicamente para este jogo de dados. Criamos o front-end e o verso e o fazemos. E eu acho que é uma ótima maneira usar tudo o que aprendemos até agora com etiquetas q, botões de pressão inclinados e apenas usar funções dentro do nosso bolso, 25 aplicativos e usar o seleto Connect. Use CSS aqui e entre nos detalhes do pike 35 do mapa de picks para definir o alinhamento, assim por diante e assim por diante. Então é isso basicamente para este projeto. Vejo você o próximo. 44. Projeto: Olá e seja bem-vindo de volta. Neste projeto, vamos aplicar o que você aprendeu anteriormente e aprovamos o jogo de dados que acabamos de criar. Agora lembre-se de que em nosso jogo de dados, temos dois jogadores que precisam jogar. E eles precisam ser realmente anotados duas linhas e segurar, como este exemplo. Agora, sua tarefa é deixar o jogador decidir se ele quer ter um jogador contra o computador ou rasgar um contra o outro. Agora, no caso de dois jogadores um contra o outro, nada acontecerá. Esse código funcionará tão bem quanto é. E no caso de Declare versus computador, você precisa melhorar esse código. Portanto, sua tarefa é, na verdade, criar novas funções para a randomização de um programa. Agora lembre-se de que você tem todas as funções que você precisa, como segurar e desenhar. Você só precisa fazê-los para o lado do programa. Então, em vez de ter dois jogadores que podem desenhar e segurar, você terá um jogador para rolar e segurar. E então o computador também irá rolar e segurar aleatoriamente um, o termo vem. Então é isso basicamente para todo esse projeto. E deixarei a porta para sua criatividade para criar as funções necessárias. E é isso. Basicamente, não se esqueça de deixar este projeto na seção do projeto para que eu possa dar meus comentários. E se você tiver alguma dúvida, não hesite em entrar em contato comigo e eu responderei. Então é isso basicamente para a seção do projeto. Espero vê-lo em breve nos meus próximos cursos. Adeus.