Qt surna pomoc

Sekcia: Programovanie 15.10.2007 | 20:51
Avatar Dare_devil Debian, OpenSuse  Používateľ
Dobry den. Potrebujem surne vyriesit problem. Ide o to ze som si v pythone a qt vytvoril okienkovu aplikaciu, a potreboval by som po zobrazeni hlavneho okna a kliknuti na tlacitko zobrazit dalsie okno, no pise to nieco v zmysle ze sa moze vykonavat len jedno opakovanie a tak dalsie ( ktore by bolo v dalsom okne ) nepripada v uvahu. Mam to riesene cez triedy a funkcie. Mam to tak ze som si vytvoril triedu a funkciu, trieda obsahuje normalne prvky, a ked zavolam funkciu, zobrazi okno z urcitej triedy. Mal by som to cele hodit do jednej funkcie ? Poradte prosim ako sa to da vyriesit, stacilo by mi len logicky prist na to ako to spravit. Kody rad poskytnem. Dakujem
There is no flag large enough to cover the shame of killing innocent people
    • Re: Qt surna pomoc 16.10.2007 | 02:52
      Avatar Miroslav Bendík Gentoo  Administrátor
      No v podstate okno hlavnej aplikacie máš dúfam potomka QWidget. Teda subwindow by malo byť tiež potomkom QWidget-u. Ak chceš po kliknutí na tlačítko zobraziť okno stačí použiť signál clicked na slot show() subwindow. Nepotrebuješ spúšťať ďalšie app.exec(), pri volaní metódy show() sa automaticky zobrazi a main loop bude okno akceptovať ako okno hlavnej aplikácie (teda ak nie sú atribúty nastavené ináč).
      • Re: Qt surna pomoc 17.10.2007 | 17:13
        Avatar Dare_devil Debian, OpenSuse  Používateľ
        Dakujem. Keby niekto chcel vediet ako som to spravil tak:
        class HlavneOkno(QtGui.QWidget):
             def aktualizaciaUdajov(self):
                 #toto mi aktualizuje udaje podla mysql, teraz nepodstatne    
        
             def subwindow(self, parent=None):
                 QtGui.QWidget.__init__(self, parent)
                 self.setWindowTitle(u'podokno')
                 self.show()
        
             def __init__(self, parent=None):
                 #hlavne okno
                 self.connect(tlacitko_pre_zobrazenie_okna,QtCore.SIGNAL("clicked()"), self.subwindow)
        
        There is no flag large enough to cover the shame of killing innocent people