Qual é a diferença entre o GTK e o QT?

28

Por favor, tenha paciência comigo como um recém-chegado ao Linux. Eu tenho escrito programas GUI em REALbasic em um Mac por vários anos. Estou tentando aprender Python e quero escrever aplicativos GUI para Linux (principalmente Ubuntu e Mint, pois são as distros às quais tenho acesso e parecem ser as mais populares). Eu basicamente tenho três perguntas:

  1. Existem diferenças significativas entre o GTK e o QT
  2. Eu brinquei com quickly e Glade no Ubuntu, mas entendo que eles são baseados no GTK 2 e isso agora está obsoleto. Isso está correto?
  3. Existe algum editor completo que me permite criar uma GUI e adicionar código Python a ela? (por exemplo, adicione um botão a uma janela no editor, clique duas vezes no botão e adicione o código Python que deve ser executado quando o botão for pressionado)

Desculpe se essas perguntas são realmente idiotas, mas quero começar a aprender as ferramentas "certas" desde o início.

    
por Nootrino 04.12.2011 / 20:01

3 respostas

11

Vou tentar responder às suas perguntas, sem ir em direções loucas.

  1. Eles são significativamente diferentes, apesar de serem ambos bibliotecas de widgets. GTK + regular é baseado em C e QT em C ++. Embora existam ligações para quase todas as linguagens de programação.

  2. Você está bastante correto sobre o GTK2, embora haja tantos aplicativos GTK2. Espero que o GTK2 esteja em uso por um tempo, assim como o GTK1. Quando o push chega ao fim, o GTK2 é obsoleto e, se você estiver iniciando, vá para o GTK3.

  3. O Remeber GTK e o QT são apenas kits de ferramentas de widgets. Por exemplo ... aplicações Gnome, use o GTK e também o Gnome-Libs. Se você quiser, dê uma olhada no vala. Ele é considerado simples, o vala compila a origem diretamente para o C e possui ligações completas para muitas linguagens de programação. Você também pode querer olhar para Anjuta, apenas certifique-se de ter as novas versões gtk3. Aparentemente, o estreito PyGTK só suporta GTK2, a última vez que verifiquei. Se você está procurando evitar todas as libs do Linux DE, eu sugiro olhar para o QT. O QT simples é diferente dos aplicativos do KDE, que incluem as bibliotecas do KDE. QT é considerado muito multi-plataforma, o que é legal se você quiser compilar para non * nix. Se você quiser começar com o QT + Python, veja PySide (LGPL) ou PyQT (GPL). O QT tem alguns bons construtores de GUI, como o qt creator e o qt-designer.

por TechZilla 04.12.2011 / 22:34
5

O GTK e o Qt são kits de ferramentas e frameworks de interface de usuário multiplataforma de código-fonte aberto. Estes são os dois frameworks mais populares em uso para o Linux, porque eles são de código aberto e fornecem aos desenvolvedores um poderoso kit de ferramentas para projetar interfaces gráficas de usuário. O GTK é usado como o kit de ferramentas padrão para os ambientes GNOME, LXDE e Xfce Desktop, enquanto o Qt é usado para o KDE.

Se você codificar em C, então, obviamente, vá para GTK +

Se você codificar em C ++, vá para o Qt, caso contrário você irá ned Gtkmm (um wrapper C ++ sobre GTK +)

Se você codifica em Python, tanto o GTK + quanto o Qt possuem ligações para o idioma: veja PyGtk, PyQt e PySide (o mesmo lançado pela própria Nokia).

    
por One Zero 04.12.2011 / 22:06
-2

O Qt é usado principalmente no KDE e no GTK + no GNOME. Então, se você quer desenvolver para o GNOME, considere o GTK +, já que as dependências necessárias para bibliotecas GTK + já devem estar instaladas em um sistema GNOME; o usuário final não precisará instalá-los. O desenvolvimento do GTK + também é beneficiado por uma ferramenta chamada Glade Interface Designer ; Se desejar, você pode usar isso para criar suas interfaces de usuário.

    
por kosaidpo 04.12.2011 / 21:27