資源簡介
python滿分大作業(yè)打地鼠,用graphics庫編寫,內(nèi)含文檔。
代碼片段和文件信息
#?button.py
from?graphics?import?*
class?Button:
????“““A?button?is?a?labeled?rectangle?in?a?window.
????It?is?activated?or?deactivated?with?the?activate()
????and?deactivate()?methods.?The?clicked(p)?method
????returns?true?if?the?button?is?active?and?p?is?inside?it.“““
????
????def?__init__(self?win?center?width?height?label):
????????“““?Creates?a?rectangular?button?eg:
????????qb?=?Button(myWin?Point(3025)?20?10?‘Quit‘)?“““
????????wh?=?width/2.0?height/2.0
????????xy?=?center.getX()?center.getY()
????????self.xmax?self.xmin?=?x+w?x-w
????????self.ymax?self.ymin?=?y+h?y-h
????????p1?=?Point(self.xmin?self.ymin)
????????p2?=?Point(self.xmax?self.ymax)
????????self.rect?=?Rectangle(p1p2)
????????self.rect.setFill(‘lightgray‘)
????????self.rect.draw(win)
????????self.label?=?Text(center?label)
????????self.label.draw(win)
????????self.deactivate()
????def?clicked(self?p):
????????“RETURNS?true?if?button?active?and?p?is?inside“
????????return?self.active?and?\
????????self.xmin?<=?p.getX()?<=?self.xmax?and?\
????????self.ymin?<=?p.getY()?<=?self.ymax
????def?getLabel(self):
????????“RETURNS?the?label?string?of?this?button.“
????????return?self.label.getText()
????def?activate(self):
????????“Sets?this?button?to?‘a(chǎn)ctive‘.“
????????self.label.setFill(‘black‘)
????????self.rect.setWidth(2)
????????self.active?=?1
????def?deactivate(self):
????????“Sets?this?button?to?‘inactive‘.“
????????self.label.setFill(‘slategrey‘)
????????self.rect.setWidth(1)
????????self.active?=?0
評論
共有 條評論