Kaksteist

Räägime täna natuke UMList ehk plokkskeemidest. Objekte kasutavaid programme peab täpselt planeerima, parem on kõik põhjalikult läbimõelda, et keset tööd ei tuleks ootamatuid halbu üllatusi. Selleks on hea koostada plokkskeem – iga objekt (class) eraldi koos oma andmetüüpidega (nimed, arvud, nimekirjad, alamobjektid) ja objektide omavahelised suhted, st kus kasutatakse ühte objekti teise sees.

!/usr/bin/python
-*- coding: utf-8 -*-

galaktika.py:

class Taht() :
    nimi = u""
    koordX = 0
    koordY = 0
    def __init__(self, koordX, koordY) :
       self.koordX=koordX
       self.koordY=koordY
    def annaX(self):
       return int(self.koordX)
    def annaY(self):
       return int(self.koordY)

GalTest.py:

import wx
import random
import galaktika
class GalTest(wx.Frame):
    tahed = []
    def __init__(self, parent, id, title):
       for i in range (1, 100):
          self.tahed.append(galaktika.Taht(random.randint(50, 900), random.randint(50, 500)))
       wx.Frame.__init__(self, parent, id, title, size=(1000, 600))
       self.Bind(wx.EVT_PAINT, self.joonistaja)
       self.Centre()
       self.Show(True)
    def joonistaja(self, event):
    #dc - drawing contect - ehk joonistusala, selle võib ümbernimetada ka
       dc = wx.PaintDC(self)
       dc.SetPen(wx.Pen('#000000', 1, wx.SOLID))
       dc.SetBrush(wx.Brush('#112233'))
       dc.DrawRectangle(10, 15, 980, 560)
       for taht in self.tahed:
          dc.SetBrush(wx.Brush('#ffdd33'))
          dc.DrawEllipse(taht.annaX(), taht.annaY(), 10 , 8)
app = wx.App()
GalTest(None, -1, 'Galaktika test')
app.MainLoop()

Kuidas saada kätte ekraani suurus?
ekraan=wx.GetDisplaySize()
laius = wx.GetDisplaySize().GetWidth()
korgus=wx.GetDisplaySize().GetHeight()

Rubriigid: Uncategorized. Salvesta püsiviide oma järjehoidjasse.

Lisa kommentaar