Is er een GUI-ontwerp-app voor de Tkinter / grid-geometrie?

Kent iemand een GUI-ontwerp-app waarmee je de widgets kunt kiezen/slepen/neerzetten en die lay-out vervolgens in Python-code kunt veranderen met de juiste Tkinter-aanroepen & rangschikken met behulp van de gridgeometriemanager? Tot nu toe heb ik een aantal mooie opties gevonden die ik misschien ga gebruiken, maar ze genereren code met behulp van packof placein plaats daarvan.

=========

EDIT: Houd er rekening mee dat dit niet per se een “aanbeveling” is, maar eerder een feitelijk onderzoek. Ik vroeg me af of zo’n app bestaat.

=====

Voordat je het zegt: ja, ik weet dat Tkinter gemakkelijk te leren is, en ja, ik heb meerdere online bronnen gevonden om me daarbij te helpen, en daarmee ben ik al op weg. Dit gaat niet over het vermijden van de inspanning van het leren, het gaat om het gebruik van de juiste tool voor het werk. Ik ontdekte lang geleden dat die widget-omgevingen met slepen en neerzetten voor het coderen van programmalogica gewoon te onhandig en onhandelbaar zijn als het project een bepaalde grootte overschrijdt — voor grotere dingen is het gewoon gemakkelijker om de logica te bouwen en te onderhouden wanneer het in platte tekst is. Meer recentelijk ben ik erachter gekomen dat het omgekeerde geldt voor het ontwerpen van een GUI. Het schrijven van tekst werkt tot op zekere hoogte, maar als je een hoofdvenster hebt met 30 of 40 widgets, plus een paar zijvensters met dezelfde complexiteit, gaat het veel sneller en gemakkelijker als je het grafisch kunt ontwerpen in plaats van alles uit te typen .


Antwoord 1, autoriteit 100%

Afgezien van de opties die al in andere antwoorden zijn gegeven, is er een actueel, actiever, recenter en open-source project genaamd pygubu.

Dit is de eerste beschrijving door de auteur uit de github-repository:

Pygubu is een RAD-tool om snel & gemakkelijke ontwikkeling van gebruiker
interfaces voor de python tkinter-module.

De ontworpen gebruikersinterfaces worden opgeslagen als XML en met behulp van de pygubu
builder deze kunnen indien nodig dynamisch door toepassingen worden geladen.
Pygubu is geïnspireerd door Glade.


Pygubu hello world-programmais een inleidende video waarin wordt uitgelegd hoe u een eerste project maakt met pygubu.

Het volgende in een afbeelding van de interface van de laatste versie van pygubudesigner op een OS X Yosemite 10.10.2:

Ik zou het zeker proberen en bijdragen aan de ontwikkeling ervan.


Antwoord 2, autoriteit 65%

Je hebt VisualTkinterook wel bekend als Visual Python.
Ontwikkeling lijkt niet actief. Je hebt sourceforgeen googlecode-sites. Website is hier.

Aan de andere kant heb je PAGEdie actief lijkt en werkt in python 2.7 en py3k

Zoals je aangeeft in je opmerking, gebruikt geen van deze de grid-geometrie. Voor zover ik kan zeggen is de enige GUI-builder die dat doet waarschijnlijk Komodo Pro GUI Builder, die werd stopgezet en in ca. 2007. De code bevond zich in de SpecTcl-repository.

Het lijkt goed te installeren op win7, hoewel het nog niet is gebruikt. Dit is een screenshot van mijn pc:

Trouwens, Rapyd Tkhad ook plannen om rastergeometrie te implementeren, aangezien in de documentatie staat dat het nog niet klaar is ‘. Helaas lijkt het ‘bijna’ verlaten.


Antwoord 3, autoriteit 63%

De beste tool voor het doen van lay-outs met behulp van Grid, IMHO, is grafiekpapier en een potlood. Ik weet dat je om een ​​soort programma vraagt, maar het werkt echt. Ik doe TK-programmering voor een paar decennia, dus lay-out komt vrij gemakkelijk voor mij, maar ik verbreek nog steeds een grafiekpapier wanneer ik een complexe GUI heb.

Een ander ding om over na te denken, is dit: de echte kracht van Tkinter Geometry-managers komt van het samen gebruiken *. Als u alleen raster wilt gebruiken, of alleen pack, doet u het verkeerd. Ontwerp in plaats daarvan eerst je GUI op papier en zoek dan naar patronen die het beste zijn opgelost door de een of de ander. Pack is de juiste keuze voor bepaalde soorten lay-outs en het raster is de juiste keuze voor anderen. Voor een zeer kleine reeks problemen is de plaats de juiste keuze. Beperk uw denken om slechts een van de geometrie-managers te gebruiken.

* De enige voorbehoud aan het gebruik van zowel geometrie-managers is dat u alleen één per container moet gebruiken (een container kan elke widget zijn, maar meestal zal het een frame zijn).

Other episodes