Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Duvida Básica/Amadora!! - Qt Designer / .ui
QtWS25 Last Chance

Duvida Básica/Amadora!! - Qt Designer / .ui

Scheduled Pinned Locked Moved Portuguese
16 Posts 2 Posters 11.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    juliofmendes
    wrote on last edited by
    #1

    Pessoal, estou tendo um probleminha básico devido a minha carência na área de programação e finalmente achei este mini fórum. Espero que vocês poção me ajudar =D

    Eu estou com um projeto em QT com 3 .ui contando com minha Main.ui e gostaria de saber como eu faço para usa uma label por exemplo da A.ui na B.ui.

    Explicando melhor: Como faço para usar um botão na B.ui com um @ui->labelTexto->setText("Texto");@ se esta labelTexto estiver no A.ui

    Sei que é bem simples mas eu não sei COMO pesquisar sobre=/
    Grato

    1 Reply Last reply
    0
    • A Offline
      A Offline
      anselmolsm
      wrote on last edited by
      #2

      Olá juliofmendes!

      Dê uma olhada "nesse exemplo":http://doc.qt.nokia.com/stable/designer-calculatorform.html de utilização de .ui's. Se quiser pesquisar mais a respeito, procure por "Qt Designer" na documentação. "Esta página":http://doc.qt.nokia.com/stable/designer-manual.html#qt-designer parece ser um bom ponto de partida :-)

      PS: Editei o título da thread apenas para refletir o assunto tratado, ok?

      Anselmo L. S. Melo (anselmolsm)

      1 Reply Last reply
      0
      • J Offline
        J Offline
        juliofmendes
        wrote on last edited by
        #3

        Sem bronca, pode edita-lo ^^

        Vou dar uma lida agora, mas eu esqueci de falar uma coisa. Eu tinha visto "este video":http://www.youtube.com/watch?v=wUH_gu2HdQE e feito como no segundo exemplo dele (no fim), porem, eu estou abrindo minha A.ui no Main.ui ... criando um Objeto e dando o comando exec();

        Oque eu realmente estou com dificuldade, é de utilizar uma variável (label) dele em outro local quando ele já está rodando(No Objeto criado).

        [Editado] A maioria eu já tinha lido e não fala exatamente oque preciso =/

        1 Reply Last reply
        0
        • A Offline
          A Offline
          anselmolsm
          wrote on last edited by
          #4

          Tem como você colocar alguns trechos do seu código? Fica mais fácil acharmos o que você precisa :-)

          Anselmo L. S. Melo (anselmolsm)

          1 Reply Last reply
          0
          • J Offline
            J Offline
            juliofmendes
            wrote on last edited by
            #5

            Vamos lá:

            Tenho um Projeto.H com :

            @#include "ProjetoP.h"@

            @public:
            explicit Projeto(QWidget *parent = 0);
            ~Projeto();
            ProjetoP *pnl;@

            Um Projeto.cpp com:

            @Projeto::Projeto(QWidget *parent) :
            QMainWindow(parent),
            ui(new Ui::Projeto)
            {
            ui->setupUi(this);
            pnl = new ProjetoP(this);
            }@
            e um

            @void Projeto::on_actionPainel_triggered()
            {
            pnl->show();
            }@

            Até aqui, quando eu executo o programa e clico no botão que chama on_actionPainel_triggered(), ele abre uma UI com nome de ProjetoP.ui

            porem em outra UI (ProjetoC.ui) eu gostaria de comandar este objeto já iniciado (Aberto pelo on_actionPainel_triggered() )... gostaria de poder alterar por exemplo uma label que esteja em ProjetoP.ui com uma SpinBox do ProjetoC.ui

            @// se eu tiver complicado no codigo ou houver uma forma de fazer isso mais fácil, pode falar.@

            Abrigado pela atenção =)

            1 Reply Last reply
            0
            • A Offline
              A Offline
              anselmolsm
              wrote on last edited by
              #6

              Coloca o código de como você tentou fazer.

              A princípio o problema parece ser o fato de vc tentar acessar um widget de projetoP através do ui que, se foi inserido em sua classe pelo QtCreator, deve estar como private. Nesse caso vc precisaria adicionar algum método para tornar público o acesso a esse widget. Mas isso, claro, supondo que entendi o que vc tentou fazer. Com o código fica mais claro ;)

              Anselmo L. S. Melo (anselmolsm)

              1 Reply Last reply
              0
              • J Offline
                J Offline
                juliofmendes
                wrote on last edited by
                #7

                Tudo que eu quero fazer é controlar uma UI através de outra, sem usar a principal.

                Projeto: http://www.megaupload.com/?d=LXDEISQS
                espero que possa mesmo me ajudar =/

                desculpe me a confusão.

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  anselmolsm
                  wrote on last edited by
                  #8

                  Não precisa pedir desculpas :-)

                  Baixei o código. Assim que eu tiver um tempo aqui eu dou uma olhada (tá tenso aqui no trabalho eheh).

                  Anselmo L. S. Melo (anselmolsm)

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    juliofmendes
                    wrote on last edited by
                    #9

                    Sei como é auhauhauhauhauhaaua
                    vai dormi então e amanha tu da sinal de vida ^^

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      anselmolsm
                      wrote on last edited by
                      #10

                      Tá, deixa eu entender, vc usa Windows, certo?

                      Pq ao tentar compilar aqui no Linux, retornou vários erros nos includes, pois o código fazia referência a, por exemplo, ui_focuss.h mas o nome arquivo gerado era ui_FocusS.h (pois foi gerado automaticamente à partir de FocusS.ui).

                      Em Linux há a diferenciação entre minúsculas e maiúsculas em nomes de arquivo (se não me engano no OS X também). Como Qt é uma ferramenta para desenvolvimento cross-platatform, seria bom vc alterar o código para usar os nomes corretos, pois seguiria funcionando no Windows e não quebraria a compilação nos outros sistemas, caso um dia venha a precisar gerar versões para eles.

                      Segue um diff dessas correções: http://anselmolsm.org/public/qt/devnet/9911.diff

                      Bom, por enquanto foi o que consegui olhar aqui, assim que rolar um tempo eu vejo o seu problema exatamente. Só pra ver se entendi, vc quer atualizar o "Painel" conforme editar os spinboxes da janela "comando", certo?

                      até+

                      Anselmo L. S. Melo (anselmolsm)

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        anselmolsm
                        wrote on last edited by
                        #11

                        Não sei qual sua experiência com desenvolvimento, por favor, não entenda isso como crítica e sim sugestão de melhoria. Assumo que estamos todos aqui no intuito de compartilhar conhecimento E principalmente aprender sobre Qt e outras coisas.

                        Creio que ajudaria, tanto no desenvolvimento quanto na futura manutenção desse projeto, escolher nomes mais claros para as classes, pois atualmente todas as classes são chamadas focus+uma_letra_que_deve_representar_alguma_coisa.

                        Por que não chamar uma classe de Painel, outra de Comando, por exemplo? ;)

                        Anselmo L. S. Melo (anselmolsm)

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          anselmolsm
                          wrote on last edited by
                          #12

                          Seguindo, uma verificação: A idéia é que a janela do painel fique em um monitor e a janela de comando fique em outro, ambos conectados a um mesmo computador, certo? Temo que o plano seja outro, pois isso envolveria um tanto de mudanças...

                          Dei uma mexida rápida pras coisas funcionarem e você ter uma idéia do que precisa ser feito. A forma como está implementado não é a melhor solução possível, para isso precisaria alterar mais, mas já serve como exemplo e/ou ponto de partida para melhorias futuras. Curiosamente eu cheguei a fazer uma tela parecida com essa do Painel enquanto estava numa sala de espera dum consultório, mas eu a fiz em QML... quem sabe eu não encontro esse código e tento fazê-la funcionar de verdade? :-)

                          Subi o código para http://anselmolsm.org/public/qt/devnet/focusui.zip - Se você quiser que eu remova esse arquivo do servidor, é só me avisar assim que fizer o download.

                          Não entendi O método on_actionTESTE_activated() está gerando um aviso em tempo de execução. Não mexi nele pois não entendi se é um teste que você está fazendo em paralelo. Essa deixei pra vc dar uma olhada ;)

                          Infelizmente são muitos arquivos para colocarmos aqui no fórum, alguns pontos dele poderiam servir para consulta futura :-( . Num próximo post eu tentarei explicar quais os pontos importantes para ficar registrado aqui.

                          Anselmo L. S. Melo (anselmolsm)

                          1 Reply Last reply
                          0
                          • J Offline
                            J Offline
                            juliofmendes
                            wrote on last edited by
                            #13

                            [Post 1] O meu QT que tem esta mania de criar alguns com letra Maiúsculas e em outros com letra Minusculas =/

                            A ideia é esta mesma que vocês entendeu.
                            PS: Como uso o arquivo .diff no programa ?

                            [Post 2] Eu não tenho experiencia, comecei a tentar mexer em QT/Programação este mês e basicamente fiz oque vi em Tutos e oque eu entendi lendo os manuais.

                            De qualquer forma, obrigado pela dica.

                            [Post 3] Exatamente isso.
                            Seria interessante ver o seu com QML , até mesmo para eu já ir estudando como se usa.

                            O on_actionTESTE_activated() era só um método que eu estava usando para teste, pode ser removido sem nenhum problema (Farei isso) ^^

                            Vou dar uma olhada no código agora e a noite passo aqui =D

                            Abraço

                            1 Reply Last reply
                            0
                            • J Offline
                              J Offline
                              juliofmendes
                              wrote on last edited by
                              #14

                              Nossa, me ajudou muito isso que você fez =O
                              estou começando a implementar o resto e arrumar o codigo.

                              Me tira duas duvida só.... o QT tem alguma função que faça o texto da label deslizar ?
                              e depois que eu tiver feio o projeto, como eu faço pra poder gerar o programa mesmo? uma vez eu cliquei no exe do debug e fui pegando os dll que ele pedia, mas agora n funcionou ^^

                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                anselmolsm
                                wrote on last edited by
                                #15

                                Opa,

                                Até onde sei não tem esse label deslizante pronto, mas dá pra fazer sem muito esforço. Existe uma implementação desse widget nesse exemplo do livro
                                "C++ GUI Programming with Qt4":http://www.informit.com/articles/article.aspx?p=1405544 , classe Ticker.

                                Para criar o pacote da aplicação, você precisa copiar as dlls do Qt necessárias para rodar sua aplicação para o mesmo diretório do executável. Curiosamente só sei como fazer isso automaticamente usando cmake, com qmake (o que você deve estar usando) preciso dar uma procurada hehe. Em todo caso, dê uma olhada em "nessa parte da documentação":http://doc.qt.nokia.com/latest/deployment-windows.html#linking-the-application-to-qt-as-a-shared-library

                                PS: <modo_chato=on> É Qt, não QT </modo_chato=off> =P
                                PS2: Se tiver mais perguntas, mas não relacionadas com a dúvida que iniciou esse tópico, seria legal criar um novo para não misturarmos assuntos, o que dificultaria a consulta dos habitantes do futuro.

                                Anselmo L. S. Melo (anselmolsm)

                                1 Reply Last reply
                                0
                                • J Offline
                                  J Offline
                                  juliofmendes
                                  wrote on last edited by
                                  #16

                                  anselmolsm, desculpa eu não ter te dado um feedback ainda, estou com um tempo meio curto e as provas tão me matando.

                                  Em breve eu comento como ele esta indo para que o tópico fique com conteúdo. Abraço

                                  1 Reply Last reply
                                  0

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt Extensions
                                  • Unsolved