Nick-us
(usa Slackware)
Enviado em 15/07/2020 - 17:02h
Paulo responderei a todo o comentário de uma vez e depois então responderei aos pontos mais importantes e objetivos para o fórum.
Primeiramente quero mais uma vez te agradeçer por suas observações e comentários, eles são sim muito importantes!
Seu comentário acima me ajuda bastante. E tenho que concordar com você 100% em suas observações!
Preciso ter muito mais cuidado ao escrever sobre algo, e não se deve mesmo escrever sem antes avaliar o FOCO e o objetivo da informação!
Eu cometi o erro de contar superficialmente minha experiência, e sim, com muita emoção misturada, pelas descobertas, decepções e forma pessoal contando uma história do passo a passo que ocorreu! E mais uma vez tenho que concordar com você que isso não é exatamente uma coisa útil! Espero não cometer esse erro mais uma vez!
Então vou retirar a emoção, a fantasia, deixar ela de lado, e vou tentar responder de forma mais objetiva e útil para que afinal quem estiver lendo possa tirar algum proveito do texto!
paulo1205 escreveu:
Nick-us escreveu:
Porque não escolhi QT: Sempre vi o QT como algo PESADO, SUJO, Esquisito e não confiável, até ler que ele não é exatamente gratuito, e eu poderia no futuro ter mais aborrecimentos com licenças ou algo do tipo, preferi nem mesmo sequer arriscar, estudar MUITO para depois jogar o que aprendi?
Se ele é pesado é discutível. Mas sujo (ainda mais com todas as letras maiúsculas), esquisito e não confiável são julgamentos muito fortes. Por que e como você chegou a essas conclusões?
Eu fico muito curioso sobre quais motivos fizeram com que você usasse esses três adjetivos estranhos. Não consigo perceber a base técnica para que você os usos.
Responder a sua observação aqui é difícil, mas tentarei explicar e corrigir os termos errados que usei para explicar!
Primeiramente não existe nenhuma base técnica para o que eu disse. 1º e mais grave erro que cometi nessa explicação! Não testei QT suficientemente para conhecê-la!
Então vamos esquecer os Julgamentos fortes que fiz, porque eles não são mais válidos! Foi um erro emocional!
Mas porque escrevi isso acima então?
Como iniciante, e muito sem experiência, e sem conhecer NENHUMA Interface Gráfica, começei na QT pois ela era indicada por muitas pessoas! Tive dificuldades iniciais porque eu era ainda mais inexperiente!
A 1ª coisa que não gostei foi a criação da janela ser um arquivo separado, necessitando ser importado de uma forma estranha, pareceu para mim algo que nada tinha a ver com C++ quando tentei, mas ignorei isso e tentei usar! Foi quando tive ainda mais problemas porque todos os controles tinham seu próprio sistema que não eram exatamente compatíveis com o C++.
Senti dificuldades na época para colocar um simples texto em um controle! Claro que acabei odiando isso! Porque eu olhava para frente, e vi que eu seria obrigado a estudar toda QT apenas para testá-la. Odiei muito essa situação! E eu não confiava na QT para gastar tanto tempo para fazer alguma coisa! E mais do que claro, não achei documentação fácil dela, não achei nada fácil nela! achei tudo extremamente complicado e difícil, cheio de burocracias!
Mas vale ressaltar que HOJE no momento atual, estou muito mais experiente, estudar a wxWidgets me deu muito mais aprendizado para Interfaces Gráficas. Mas ainda assim, eu não me sinto bem com a QT. Vamos colocar essa questão como pessoal e sem valor algum, visto que 99% é algo pessoal e não quero ninguém influenciado pelo que sinto pela QT.
A 2ª coisa que PESOU, foi de muitas informações dizendo que ela não é gratuita, que existe regras de licença, e entendi que se eu quisesse vender meu aplicativo, entraria nessas regras! Não estudei essa informação a fundo e nem como isso funciona! Apenas minha 1ª Impressão ao ver isso me assustou e não quis mais insistir nisso!
A 3ª coisa que pesou é que achei confusa um monte de versões e aplicações para a mesma coisa, isso me irritou muito! E também me atrapalhou muito, porque dificultou eu saber o que eu deveria usar apenas para começar! Não sabia se eu devia instalar: QtCreator ou QtDesigner ou Outra coisa qualquer.
O Site não é nada intuitivo, poluição de informação, o que confunde quem não tem conhecimento, olhe:
https://www.qt.io/product?utm_campaign=Navigation%202019&utm_source=Nav%202019
E nesse quesito até mesmo começar uma Janela foi horrível e frustrante para mim: O que eu uso? QMainWindow OU QtWidgets??? Nunca descobri! E um monte de gente na Internet também não sabe o que usar e nem qual a diferença entre elas! E MESMO Hoje no Google vc não tem respostas, veja:
https://www.google.com/search?ei=LUsPX8OEJZXP5OUP0o6XoAY&q=QMainWindow+OR+QtWidgets%3F&oq=QM...
Entenda como me senti frustrado, usando a IDE QtDesigner, para depois descobrir que eu devia usar QtCreator, para depois descobrir que até então estava cada vez mais ficando mais confuso, mais complicado, mais difícil e mais monstruoso para mim, um iniciante completamente inexperiente???
Eu tive problemas até para fazer download:
https://www.qt.io/download Não aceitou nenhum email meu! Entende porque a cada coisa que eu tentei fui perdendo cada vez mais a confiança na QT?
Anotação que fiz em 30/05/2020 para mim mesmo:
30/05/2020 18:12 Informações desencontradas, no site qt.io/blog ele diz que a nova versão é 5.13.2 LTS (26/05/2020) e ainda nessa mesma página ele diz que lançou dia 20/05/2020 Qt Creator v.4.12.1 o que é isso? A única coisa que posso compreender é que estão mantendo 2 versões, pra que?
Tudo o que tentei, cada passo que dei, foi muito frustrante! Cada nova pergunta que eu tinha, se transformava em outras 30. Uma verdadeira loucura!
Não existe no Site da QT nada fácil, nem mesmo encontrar AGORA neste momento ONDE eu li sobre licença? Não consegui! Não confio em nada que não seja transparente para mim, porque me passa a impressão de armadilha! Querendo esconder alguma coisa!
E tudo o que eu queria era fazer um pequeno TESTE para saber se eu estudaria ela ou as outras!
Quando usei a palavra SUJO foi por causa disso! Não passou para mim nenhuma boa impressão, de uma Empresa que eu pudesse confiar, acreditar, o que passou para mim foi a sensação de perigo, cautela, e muita dor de cabeça! Tem base técnica? Não não tem! Mas é exatamente o que aconteceu na minha jornada!
O Kde vem com a QtDesigner... Então dúvidas: uso essa ou a QtCreator? Não acho informações para explicar em lugar algum com facilidade. No Site? Não achei nada! Tudo super confuso. Como acha que imaginei como seria o resto depois?
Se o básico de se fazer já era complicado, imagina quando eu tivesse que fazer algo? Não deu pra confiar! Infelizmente! E a única coisa que vi boa nela, são Imagens e o que eu pude desenhar no QtDesigner, não passou disso! Mas isso para mim não é o suficiente, eu precisava criar algo útil e não consegui nada simples!
Então o que pude perceber é que eu perderia MESES aprendendo a fazer algo simples para testar! Apenas para saber se eu devia usar ou não ela! E não gostei nada disso! A Experiência acima que contei não me fez nem um pouco confiar em jogar MESES fora, o medo de me arrepender e o nível de aborrecimento que eu teria se me arrepende-se seria muito alto! E a forma de programar nela é MUITO diferente de praticamente TODAS as outras Interfaces gráficas, Ela tem muitas coisas esquisitas que fogem do tradicional que conheçemos em C++. Ou seja, ela não é C++, para mim QT é uma Linguagem de programação! E eu me recusei a aprender outra linguagem! Li isso também na Internet, algo sobre.
Quanto mais eu lia sobre QT mas me fazia me afastar dela! No Passado A Interface gráfica gerava código C++ depois passou a não fazer mais isso, tudo isso considerei estranho, maldoso, são muitos pequenos detalhes, pequenas movimentações que não curti nadinha.
paulo1205 escreveu:
Nick-us escreveu:
Então gastei meu tempo com a wxWidgets! Inicialmente gostei, mas ela me decepcionou MUITO! Bugs, Controles que só funcionam direito em Windows, Janelas com limitações, controles com limitações, documentação mau elaborada sem nenhum exemplo de como funciona, lixos e mais lixos de comandos iguais por causa de mudança de versão, criando uma verdadeira confusão na hora de saber o que é novo o que é velho, e pra piorar: Comandos exagerados me causando a impressão que o criador dela encheu de linguiça para parecer importante. Este foi o caso de checar instância nela! Muito ridículo o método deles, e não obtive sequer explicação para o absurdo que vi! Então perdi a confiança em tudo que criaram!
Falta de explicação por falta de explicação, sua mensagem até aqui está cheia de julgamentos mas carente de evidências.
Que mal lhe pergunte, quando você testou a wxWidgets, que versão você usou? Uma versão estável (3.0.x) ou uma de desenvolvimento (3.1.x)? Segundo o
site do projeto, é de se esperar que a versão de desenvolvimento tenha
bugs e lacunas na documentação.
Respondendo por partes!
Usei a versão 3.1.3 mas quando falo de BUGS me refiro a BUGS não resolvidos em qualquer versão!
1ª Coisa muito ruim: Diferentes formas de fazer a mesma coisa! A Internet lotada de código velho e obsoleto de versão 2.x e o que eles fazem? Dão nomes novos para cada mudança, ficando extremamente confuso de saber o que é obsoleto e o que não é! Uma verdadeira zona!
Apenas 1 das coisas. Mostro 3, mas acredite tem ainda mais formas de fazer isso. Descobrir qual é a correta é um problema!
Macros de Strings, Não sabia se uso wxT ou wxS ou L ou _T ou se converto como estava fazendo, quando li sobre _T disse que era velho e aconselhou usar wxT fui pra ele e ele desaconselha usar pq é velho! Fiquei perdido! Pois é! Frustrante e ainda mais irritante? SIM!
E a confusão não para por ai, embora ele diz que wxT é Obsoleto que deve ser substituido, MAS EM TODOS os exemplos nos documentos novos eles usam wxT.
wxMessageBox(wxS("Aparecida"));
wxMessageBox(wxT("Aparecida")); // Ela está ficando obsoleta, use a de cima!
wxMessageBox(_T("Aparecida"))
Tenta um novato entender qual dos 2 é o novo qual é o velho, com tantos exemplos onde cada um atual ou velho se misturam. Uso ; não uso? coloco wx? Não coloco? Onde é a posição correta disso? Em cima? Embaixo? Apanhei estudando apenas essa linha! gastei 2 dias para entender isso! Será que deveria ser assim?
wxIMPLEMENT_APP(MyProgram);
IMPLEMENT_APP(MyProgram)
Quando ele explica métodos, syntaxes em sua documentação ele mistura a Syntax com explicações no meio o que cria uma verdadeira confusão!
Anotação minha de 29/05/2020 05:08
Estou me decepcionando com ela a cada dia, ela não é nem de longe o que imaginei que seria, ela não faz coisas básicas, como colorir um simples TextCtrl, ou selecionar um Grid de forma decente!
Não curti colocar um controle qualquer em um Form e ele ficar expandido ocupando todo o Form, desobedecendo simples regra de tamanho! Me forçando a ter outro controle para finalmente ele obedecer o tamanho correto!
wxGrid não tem opção para pegar o valor da Célula Selecionada, te obrigando a criar meios para que isso funcione! (01/05/2020 09:53)
WxTextCtrl
HEIGHT Não funciona! De nada adianta definir a altura do controle, pq ele define o espaço do texto! Só funciona no Windows, mais uma vez eles só se preocupam com quem usa Windows e dane-se quem usa Linux, porque NUNCA vão consertar isso! (30/05/2020 01:06)
MAX E MIN SIZE: No CodeBlocks não servem para absolutamente nada! Se bem que tudo no Codeblocks para ela usa código velho e Obsoleto (30/05/2020 01:07)
Não dá pra colorir o fundo do texto quando usa 1 linha normal, ele só aceita colorir qdo é Multiline! Que decepção total! Não consigo acreditar nisso! (29/05/2020 04:41)
Não posso usar o comando SetMaxLength se eu atribuir wxTE_MULTILINE (23/03/2020 18:37)
E em wxTextEntry::SetMaxLength informa: Note that in wxGTK this function may only be used with single line text controls.
Na documentação v.2.4 possue comandos que não existem na documentação nova, exemplo é o wxChoice, comandos como Clear, Append que descobri em outro Site e descobri que existe na 2.4 são muitos comandos que não adicionaram explicações ou sequer sua existência e são importantes! (16/03/2020 22:20)[/quote]
No Fórum, da wxWidgets eles são atenciosos, o que me ajudou muito, são prestativos, mas ainda assim não é o suficiente para um bom trabalho. Veja meu problema com um simples controle de texto:
https://forums.wxwidgets.org/viewtopic.php?p=199158#p199158
Reclamo da dificuldade da documentação:
https://forums.wxwidgets.org/viewtopic.php?f=27&t=46956
Minha enorme decepção com o Widget instance-checking:
https://forums.wxwidgets.org/viewtopic.php?f=1&t=47038
O que fez eu perder a confiança nela, me dando a impressão que eles estavam dificultando coisas simples para parecerem importantes!
E mesmo assim, me decepcionando com a wxWidgets, não achei perda de tempo aprender sobre ela! Gastei meses estudando ela, fiz 6 programas nela funcionais, e o que estudei nela, serviu para a FLTK, então não foi tempo gasto, porque eu estava aprendendo C++ diferente do que aconteceria se eu estivesse estudado QT.
O Fórum da wxWidgets é muito bom mesmo, me ajudaram, foram atenciosos, mas Fórum são pessoas! wxWidgets é uma Ferramenta, e ela quem deveria ser o que esperei dela!
Em anexo uma imagem com defeitos nas bordas, brancas ao redor da aba do grid, e que nem sei se é possível retirar!
Tudo o que escrevi acima é minha experiência pessoal! É claro que existem muito mais fatores que nem mesmo anotei, ou que estão esparramados em meu computador, foquei aqui no que eu lembro ainda! Não sei se sou bom em contar ou explicar com as melhores palavras essa experiência, mas é o que estou tentando! Meu objetivo é que outras pessoas ao lerem, façam suas próprias conclusões e não percam tempo com o que não querem, e claro, tudo é pessoal, depende de como cada um aprende, ou com o que cada um se identifica mais!
Eu acredito que meu Texto sirva também para essas 2 Empresas analisarem o lado do usuário ao se depararem com ela!
Minha Cautela em relação a estudar qualquer coisa demorada é perder tempo! Me arrependi muito de gastar muitos anos aprendendo Delphi no RadStudio, porque HOJE nunca mais usarei! Me achei um programador, me senti como um programador, para depois descobrir ao estudar C que eu não sabia nem o que era uma variável direito! Foi muito triste! Isso porque a RadStudio fazia tudo! O que eu era? Apenas um macaco que arrastava botões em uma Janela! E achava que estava programando!
Minha cautela em gastar meses em algo inútil vem disso! No momento atual tenho usado C++ para quase tudo e não o C. Porém foi C quem me mostrou como as coisas funcionam! O que é uma LETRA! C é pequenino, lindo de estudar, aprendi por ele, que quando existe algo fácil, por trás existe uma função que reduziu aquilo para você! Pois no C temos que fazer muita coisa na mão! E adorei isso!
E a parte ainda mais legal, é que se não consigo fazer, posso sempre recorrer ao confiável C que nele dá pra fazer! Sou muito novato em C, mas senti a cada aprendizado o poder que ele te dá, o ensinamento prático que ele te oferece, e a enorme base que usamos para aprender qualquer outra coisa!
Bom espero que meu Texto agora tenha alguma utilidade!
Mais uma vez quero agradecer ao Paulo, aqui do fórum, porque vc não faz idéia, sem suas explicações, seus detalhamentos, seus puxões de orelha, respondendo tanto a mim quanto a muitas outras pessoas aqui no fórum é que tem me permitido avançar, aprender, entender, me tornar um programador a cada dia!
99% do que sei de C, C++ aprendi aqui com o Paulo, acredite, pode parecer perguntas simples para outros, mas que para mim eram verdadeiros MUROS enormes sem saída que me deixavam tristes, completamente perdido. A cada pergunta que eu fazia, era uma situação que eu não estava nada bem, pq não sabia se teria respostas se eu poderia continuar, se eu conseguiria! Era como ver um Sonho na beira de um principício que poderia cair lá em baixo!
Então aparece o Paulo com as respostas perfeitas, completas, seguras, criando a ponte, abrindo a porta e dizendo: É por aqui! Continue sua jornada!
De verdade, muito Obrigado!