Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Python - Aggiornare un QGridLayout
Forum - Python - Aggiornare un QGridLayout

Avatar
TheTux94 (Normal User)
Newbie


Messaggi: 7
Iscritto: 14/06/2010

Segnala al moderatore
Postato alle 18:08
Venerdì, 16/11/2012
Buongiorno,
ho da poco iniziare a studiare Python e ora sto cercando di fare un programma con una GUI utilizzando le librerie PyQT.

Ecco il mio problema:
Ho una Scrollarea dove ci metto dentro un widget che contiene un qgridlayout:
Codice sorgente - presumibilmente Plain Text

  1. sa = QtGui.QScrollArea()
  2.         sa_widget = QtGui.QWidget()
  3.         self.sa_grid.setSizeConstraint(QtGui.QLayout.SetMinAndMaxSize)
  4.         sa_widget.setLayout(self.sa_grid)
  5.         sa.setWidgetResizable(True)
  6.         sa.setWidget(sa_widget)



Dopodiché ci aggiungo 100 QLabel così tanto per aggiungerci qualcosa (praticamente uso il gridlayout come vertical layout per ora, ma successivamente lo userò come tabella):
Codice sorgente - presumibilmente Python

  1. # CONTENUTO SCROLLAREA
  2.         i = 0
  3.         while i<100:
  4.             i = i +1
  5.             add = QtGui.QLabel("Numero %i" % i)
  6.             self.sa_grid.addWidget(add)



Poi ho creato un bottone che, quando cliccato, richiama la funzione "nomefunzione", sto cercando di fare qualcosa che cancelli una riga qualsiasi del gridlayout. Per ora ho scritto questo codice:
Codice sorgente - presumibilmente Plain Text

  1. tmp = QtGui.QWidget()
  2.         tmp = self.sa_grid.itemAt(0)
  3.         self.sa_grid.removeItem(tmp)


Il codice sembra funzionare, nel senso che sposta tutti gli elementi sopra di una riga (la riga i+1 diventa riga i), tuttavia non cancella la scritta "Numero 1" presente nella prima riga (la riga 0).

Come posso risolvere questo problema?

Grazie in anticipo, Davide

PM Quote
Avatar
TheTux94 (Normal User)
Newbie


Messaggi: 7
Iscritto: 14/06/2010

Segnala al moderatore
Postato alle 9:57
Sabato, 17/11/2012
Ho risolto.

Grazie comunque

PM Quote