Python a aktualny cas

Sekcia: Programovanie 18.08.2007 | 14:43
Avatar Dare_devil Debian, OpenSuse  Používateľ
Dobry den. Potrebujem zistit v Pythone aktualny cas, ale nie aby bolo teraz napriklad 12:32 a o 10 minut ked program nevypnem bude stale 12:32 , ale aby sa ten cas menil. Zatial som to vyriesil takto:
import time
   teraz=time.localtime(time.time())
   year, month, day, hour, minute, second, weekday, yearday, daylight = teraz
   datum="%02d.%02d.%04d" % (day, month, year)
   cas="%02d:%02d:%02d" % (hour, minute, second)
Ale to mi zobrazi iba cas kedy som spustil program :(
Hladal som aj v googli ale o pythone a PyQt je tam toho malo popisane.
Dakujem za vsetky odpovede
There is no flag large enough to cover the shame of killing innocent people
    • Re: Python a aktualny cas 18.08.2007 | 14:54
      Avatar Dare_devil Debian, OpenSuse  Používateľ
      Stacilo by mi ziskat aj aktualny unixovy cas.. ale samozrejme musel by sa menit kazdu sekundu... potrebujem proste vediet presny cas
      There is no flag large enough to cover the shame of killing innocent people
    • Re: Python a aktualny cas 18.08.2007 | 15:00
      Avatar Miroslav Bendík Gentoo  Administrátor
      QTimer, stačí v intervaloch 1s načítavať čas a prekresliť.
      • Re: Python a aktualny cas 18.08.2007 | 15:07
        Avatar Dare_devil Debian, OpenSuse  Používateľ
        Nevies hodit aj nejaky priklad? :/ vsetko co najdem ohladom Qt je pisane v C/C++
        There is no flag large enough to cover the shame of killing innocent people
        • Re: Python a aktualny cas 18.08.2007 | 15:10
          Avatar Dare_devil Debian, OpenSuse  Používateľ
          Ktomu som s PyQt a Pythonom zacal predvcerom tak by si ma velmi potesil keby si mi ukazal ako sa to ma spravit
          There is no flag large enough to cover the shame of killing innocent people
          • Re: Python a aktualny cas 18.08.2007 | 15:20
            Avatar Miroslav Bendík Gentoo  Administrátor
            Ja som v zivote nepisal v pythonovi ani pyqt ;)
            • Re: Python a aktualny cas 18.08.2007 | 15:30
              Avatar Dare_devil Debian, OpenSuse  Používateľ
              a skade potom vies o QTimer? :D
              There is no flag large enough to cover the shame of killing innocent people
              • Re: Python a aktualny cas 18.08.2007 | 15:45
                Avatar borg Fedora  Administrátor
                qt kniznica neni len pre python
                • Re: Python a aktualny cas 18.08.2007 | 15:46
                  Avatar Dare_devil Debian, OpenSuse  Používateľ
                  a da sa zmiesat, ze budem mat napriklad program main.py a v nom budem pouzivat aj nieco co bude naprogramovane v C alebo C++ ?
                  There is no flag large enough to cover the shame of killing innocent people
                  • Re: Python a aktualny cas 18.08.2007 | 15:49
                    Avatar borg Fedora  Administrátor
                    ano, python dokaze volat c++ funkcie
    • Re: Python a aktualny cas 18.08.2007 | 15:41
      Avatar uid0 Debian  Používateľ
      v tvojom priklade si zistil aktualny cas, tak to pouzi kde potrebujes
      Debian. apt-get into it…
      • Re: Python a aktualny cas 18.08.2007 | 15:45
        Avatar Dare_devil Debian, OpenSuse  Používateľ
        Joj je zle som sa vyjadril. Potrebujem cas, ktory sa bude menit v programe, takze sa tam budu pripocitavat sekundy.. ja som tym ziskal cas kedy som spustil program
        There is no flag large enough to cover the shame of killing innocent people
        • Re: Python a aktualny cas 18.08.2007 | 15:46
          Avatar uid0 Debian  Používateľ
          niekde tam hod label a updatuj...
          Debian. apt-get into it…
          • Re: Python a aktualny cas 18.08.2007 | 15:48
            Avatar Dare_devil Debian, OpenSuse  Používateľ
            no ved mam
            layout.addWidget(datum_t,1,0,1,2, QtCore.Qt.AlignHCenter)
            layout.addWidget(cas_t,2,0,1,2, QtCore.Qt.AlignHCenter)
            
            ale ako to updatovat??
            There is no flag large enough to cover the shame of killing innocent people
            • Re: Python a aktualny cas 18.08.2007 | 17:16
              Avatar uid0 Debian  Používateľ
              neviem, qt nepouzivam
              Debian. apt-get into it…
    • Re: Python a aktualny cas 18.08.2007 | 15:48
      Avatar Miroslav Bendík Gentoo  Administrátor
      import time
      from qt import *
      import sys
      
      def getTime():
          cas = time.localtime((time.time()))
          h = cas[3]
          m = cas[4]
          s = cas[5]
          res = []
          res.append(h)
          res.append(m)
          res.append(s)
          return res
      
      class MainWindow(QMainWindow):
      
          def __init__(self, *args):
              apply(QMainWindow.__init__, (self, ) + args)
      
              self.mainWidget=QWidget(self);
      
              self.vlayout = QVBoxLayout(self.mainWidget, 10, 5)
      
              self.lb = QLabel("Time", self.mainWidget)
              
              self.vlayout.addWidget(self.lb)
      
              self.setCentralWidget(self.mainWidget)
              self.timer = QTimer(self)
              QObject.connect(self.timer, SIGNAL("timeout()"), self.slotUpdate)
              self.timer.start(1000);
          def slotUpdate(self):
              t = getTime();
              self.lb.setText(str(t[0])+":"+str(t[1])+":"+str(t[2]));
      
      def main(args):
          app=QApplication(args)
          win=MainWindow()
          win.show()
          app.exec_loop()
      
      if __name__=="__main__":
          main(sys.argv)
      
      • Re: Python a aktualny cas 18.08.2007 | 15:51
        Avatar Dare_devil Debian, OpenSuse  Používateľ
        nikdy by som nepovedal ze to moze byt take zlozite.. Dakujem ti velmi pekne :)
        There is no flag large enough to cover the shame of killing innocent people
        • Re: Python a aktualny cas 18.08.2007 | 15:52
          Avatar Miroslav Bendík Gentoo  Administrátor
          Určite to nie je také zložité akurát som po dlhom čase oprášil svoje dosť chabé znalosti QT a ešte horšie znalosti pythonu :D Určite sa to dá s polovičným počtom riadkov ;)
        • Re: Python a aktualny cas 18.08.2007 | 17:19
          Avatar uid0 Debian  Používateľ
          toto je zlozite? to je prve riesenie, ktore napadne kazdeho
          Debian. apt-get into it…
          • Re: Python a aktualny cas 18.08.2007 | 17:36
            Avatar Miroslav Bendík Gentoo  Administrátor
            No je to výrazne zložitejšie ako by to mohlo byť. Funkciu getTime() už viem napísať na 2 riadky. VBoxlayout je úplne zbytočný, stačilo nastaviť label ako main widget.
            • Re: Python a aktualny cas 18.08.2007 | 17:40
              Avatar uid0 Debian  Používateľ
              nehovorim o prevedeni ale o principe. a take detaily ako spominas sa daju upravit kedykolvek
              Debian. apt-get into it…
              • Re: Python a aktualny cas 18.08.2007 | 18:23
                Avatar Dare_devil Debian, OpenSuse  Používateľ
                Pre mna to vizera zlozito, kedze programujem dnes este len druhy den v Pythone a celkovo v PyQt, tak tomu vsetkemu este nemozem chapat... to musite uznat proste
                There is no flag large enough to cover the shame of killing innocent people
                • Re: Python a aktualny cas 18.08.2007 | 19:24
                  Avatar Dare_devil Debian, OpenSuse  Používateľ
                  Neslo by to vyriesit bez OOP? na OOP chapem zaklady, ale tomuto absolutne nechapem a neviem ani za boha prist na to co naco sluzi
                  There is no flag large enough to cover the shame of killing innocent people
                  • Re: Python a aktualny cas 18.08.2007 | 19:38
                    Avatar uid0 Debian  Používateľ
                    to, ze tam je ten jeden class neznamena, ze to je OOP. nez budes este nieco pisat, precitaj si:

                    http://vik.sh.cvut.cz/~tnt/python/tut/

                    nie je to dlhe
                    Debian. apt-get into it…
                • Re: Python a aktualny cas 18.08.2007 | 19:35
                  Avatar uid0 Debian  Používateľ
                  sorry, ale ja to nechapem.

                  vytvoril si okno, label a timer na 1 sekundu kde updatuje label. v zivote som nepisal qt kod a vidim to tam. nic zlozite
                  Debian. apt-get into it…
                  • Re: Python a aktualny cas 18.08.2007 | 19:44
                    Avatar Dare_devil Debian, OpenSuse  Používateľ
                    Napriklad nechapem vobec tomu self. (...) co to robi a taktiez nechapem tomuto napriklad self.timer = QTimer(self) ani tomuto self.lb.setText(str(t[0])+":"+str(t[1])+":"+str(t[2]));
                    There is no flag large enough to cover the shame of killing innocent people
                    • Re: Python a aktualny cas 18.08.2007 | 19:54
                      Avatar uid0 Debian  Používateľ
                      naozaj by si si mal nieco precitat o pythone

                      self je klucove slovo odkazujuce sa na svoju triedu
                      self.lb je label z tej triedy
                      .setText je metoda na nastavenie textu v labeli
                      str(t[0])+":"+str(t[1])+":"+str(t[2]) je vytvorenie retazca pre ten label a je to v zatvorke, pretoze to predavas ako argument tej metode
                      Debian. apt-get into it…
                      • Re: Python a aktualny cas 18.08.2007 | 20:07
                        Avatar Dare_devil Debian, OpenSuse  Používateľ
                        Super, diky, precitam si ten letajici cirkus. A este ze nepoznate nejaku dobru knihu o pythone pod linuxom? Skor taku hrubsiu, od zakladov az po zlozite programy? Budem mat narodeniny coskoro tak :)
                        There is no flag large enough to cover the shame of killing innocent people
                        • Re: Python a aktualny cas 18.08.2007 | 20:10
                          Avatar uid0 Debian  Používateľ
                          podla mna je zbytocne kupovat knihu o pythone. a od o'reillyho zrejme aj tak nie su preklady...
                          Debian. apt-get into it…
                          • Re: Python a aktualny cas 18.08.2007 | 20:15
                            Avatar Dare_devil Debian, OpenSuse  Používateľ
                            Takze si mam nechat vytlacit letajici cirkus tu PDF verziu ? Asi dam mame do roboty vytlacit, takze aj usetrim :D Diky moc este raz za tvoj cas a ochotu ;) vlastne dakujem vsetkym ktori sa zapojili. Diki moc este raz :)
                            There is no flag large enough to cover the shame of killing innocent people