Cum să organizați corect codul

Cum să organizați corect codul
  • piton
  • PyQt

Salutări!
Eu scriu programul cu GUI. Există o clasă principală, aceasta definește o metodă care, atunci când este inițializată, construiește o interfață. În această interfață (o parte din ea) există o filă, și ca 2 butoane - adăugați și eliminați o filă. umplerea filei este realizată printr-o altă metodă, deoarece umplerea este aceeași.






Ar trebui să fie așa: atunci când deschideți programul, ar trebui să apară o filă, butonul de adăugare ar trebui să fie activ și butonul de ștergere nu ar trebui să fie activ, deoarece ultima filă nu poate fi închisă. După adăugarea unei file cu butonul "Adăugați", butonul "Șterge" devine activ (până când rămâne o singură filă).






Cum merg codul (bucăți de bază):
Adăugarea unei file în care este apelată metoda de adăugare

Mai jos este adăugarea butoanelor:

Apoi vine o metodă care adaugă o filă cu conținutul (conținutul este omis, nu este important, este adăugat corect):

Ștergând fila:

În acest scenariu, am obține o eroare de curs: „AttributeError: obiect«mainForm»nu are nici un atribut«buttonDelProject»“
Este de înțeles, din moment ce este o provocare de file adăugând, iar apoi prima linie este de ce trebuie să faceți „Delete“, butonul activ atunci când cheia de cod nu este încă există.
Aici am o întrebare: cum să emită corect codul astfel încât cele descrise mai sus să fie implementate în mod normal?
Opțiunile pe care le am sunt:
- pentru a schimba adăugarea de butoane și a adăuga o filă, dar aici este un pic dificil, deoarece ordinea straturilor va fi deja greșit
- trage self.addProjectTab apel () după crearea + pentru a adăuga o condiție în delProjectTab metoda pentru a determina numărul de file, și în funcție de acesta pentru a activa sau dezactiva „Delete“

Promiți calea cea bună.

UPD:
O altă opțiune pentru a lăsa totul așa cum este, dar „addProjectTab“ învelit în try, cu excepția „self.buttonDelProject.setEnabled (Adevărat)“







Articole similare

Trimiteți-le prietenilor: