Hogyan szervezzük meg a kódot

- piton
- PyQt
Üdvözlet!
Írok egy programot GUI. Vannak első osztályú, azonosított egy módszert, amely épít az inicializálás felület. Ezen a felületen (egy része) az egyetlen lap, valamint a 2 gomb - hozzáadása és eltávolítása lapon. lapon a feltöltés végre egy másik módszer, mivel ugyanazt a tartalmat.
Meg kell, hogy ez így: amikor megnyitja a programot meg kell jelennie az egyik lapon, adjunk hozzá egy gombot, hogy aktív, és a törlés gomb nem aktív, az utolsó lapon nem lehet lezárni. hozzáadása után az „Add” gombra fülre „Törlés” aktív lesz (amíg amíg csak 1 lap).
Hogy fogom be a kódot (core db):
Fülek hozzáadása, ahol az adagolás módszer hívás
Alább az összeadás gombok:
A következő a módszer, amely hozzáteszi, a tartalmát a lap (a tartalmát le, akkor nem számít, hozzáadjuk helyesen):
Így megszűnik a lapon:
Ebben az esetben a hibaüzenetet kapok persze: „AttributeError:»mainForm«objektum nem attribútum buttonDelProject”
Ez érthető, hiszen én egy olyan kihívás, hozzátéve lapok, majd az első sor, amit tennie kell „Törlés” gombra aktív, ha a kód kulcs még nem is létezik.
Most van egy kérdésem: hogyan lehet rendezni a kódot a fenti hajtottak végre rendesen?
Lehetőségeim vannak, mint:
- visszaforgattunk hozzátéve gombok és a fülek hozzáadása, de lesz egy kicsit bölcsebb, hiszen a rétegek sorrendjét, nem lesz a
- húzza ki a hívás self.addProjectTab () létrehozását követően a + hozzá egy állapotot a módszer delProjectTab meghatározni a lapok száma, és attól függően, hogy be- vagy kikapcsolja a „Törlés”
Mondd, a helyes utat.
UPD:
Egy másik lehetőség, hogy hagyni mindent, ahogy van, de a „addProjectTab” burkolt try-except „self.buttonDelProject.setEnabled (True)”