Cum fac sa se inchida de pe aceiasi tasta de pe care se deschide?

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
budan199
Nivel 1

Nivel 1
Mesaje: 79
Membru din: 01 Iul 2015, 03:09
Server: s
Regat: Chunjo
Aprecieri: 202  
Mulţumiri: 2  
Medalii

*Problemă/Întrebare: Cum fac ca acest calendar, care se deschide de pe F7, sa il fac sa se inchida cand se apasa iar F7?
Tipologie server: pvm
*Resursă folosită: python/calendar-evenimente-origins2-style-t92789.html
*ServerFiles utilizat: zearth
*Syserr: nimic
Poză: nimic
*Detalii suplimentare: Salut! am instalat calendarul de mai sus si nu se inchide de pe tasta de pe care se si deschide. Pur si simplu deschide alt calendar in fundal daca apesi din nou pe tasta respectiva
Mai jos va las resursa:
-In root/game am adaugat asa:
		onPressKeyDict[app.DIK_F7]	= lambda : self.Hades_Test()
si
	def Hades_Test(self):
		import uicalendar
		self.calendar = uicalendar.listaCalendar()
		self.calendar.Open()
si am mai pus uicalendar.py
import ui, uiToolTip, math, chat, grp

class EventSlot(ui.ImageBox):

	CULOARE_DESCRIERE_EVENT =  0xfffeba68

	def __init__(self, parent, eventIndex, eventData):
		ui.ImageBox.__init__(self)
		
		self.SetParent(parent)
		
		self.eventIndex = eventIndex
		self.eventData = eventData
		
		##EventText
		eventName = ui.Button()
		eventName.SetParent(self)
		eventName.SetPosition(0, 0)
		eventName.SetUpVisual("d:/ymir work/ui/calendar/slot.tga")
		eventName.SetOverVisual("d:/ymir work/ui/calendar/slot.tga")
		eventName.SetDownVisual("d:/ymir work/ui/calendar/slot.tga")
		eventName.SetToolTipWindow(self._CreateToolTip(self.eventData[1], self.eventData[3]))
		eventName.Show()
		self.eventName = eventName
		####EventText
		
		####EventText
		eventNametxt = ui.TextLine()
		eventNametxt.SetParent(self)
		eventNametxt.SetPosition(0, 2)
		eventNametxt.SetText(self.__GetValue('evenimentName'))
		eventNametxt.SetHorizontalAlignCenter()
		eventNametxt.SetWindowHorizontalAlignCenter()
		eventNametxt.Show()
		self.eventNametxt = eventNametxt
		####EventText
		
		self.UpdateRect()
		self.Show()
		
	def __del__(self):
		ui.ImageBox.__del__(self)
	
	def __GetValue(self, stringName):
		eventDict = {
			"evenimentName": self.eventData[1],
			"descriereEveniment": self.eventData[3]
		}
		
		return eventDict.get(stringName, '')
		
	def _CreateToolTip(self, title, descList):
		toolTip = uiToolTip.ToolTip()
		toolTip.SetTitle(title)
		toolTip.AppendDescription(descList, None, self.CULOARE_DESCRIERE_EVENT)
		toolTip.SetFollow(False)
		toolTip.SetPosition(235, 0)

		toolTip.AlignHorizonalCenter()
		return toolTip
		
	def GetIndex(self):
		return self.eventIndex

class EventItem(ui.ImageBox):

	def __init__(self, parent, eventIndex, eventData):
		ui.ImageBox.__init__(self)
		
		self.SetParent(parent)
		
		self.eventIndex = eventIndex
		self.eventData = eventData
		
		##ZiuaSlot
		ziuaCatSlot = ui.SlotBar()
		ziuaCatSlot.SetParent(self)
		ziuaCatSlot.SetSize(50, 17)
		ziuaCatSlot.SetPosition(25, 0)
		ziuaCatSlot.Show()
		self.ziuaCatSlot = ziuaCatSlot
		##ZiuaSlot

		##ZiuaText
		textZiua = ui.TextLine()
		textZiua.SetParent(self.ziuaCatSlot)
		textZiua.SetPosition(0, 2)
		textZiua.SetText(self.__GetValue('ziuaEveniment'))
		textZiua.SetHorizontalAlignCenter()
		textZiua.SetWindowHorizontalAlignCenter()
		textZiua.Show()
		self.textZiua = textZiua
		##ZiuaText
		
		##DurataSlot
		durataSlot = ui.SlotBar()
		durataSlot.SetParent(self)
		durataSlot.SetSize(98, 17)
		durataSlot.SetPosition(196, 0)
		durataSlot.Show()
		self.durataSlot = durataSlot
		##DurataSlot
		
		durataEvent = ui.TextLine()
		durataEvent.SetParent(self.durataSlot)
		durataEvent.SetPosition(0, 2)
		durataEvent.SetText(self.__GetValue('evenimentDurata'))
		durataEvent.SetHorizontalAlignCenter()
		durataEvent.SetWindowHorizontalAlignCenter()
		durataEvent.Show()
		self.durataEvent = durataEvent

		self.UpdateRect()
		self.Show()

	def __del__(self):
		ui.ImageBox.__del__(self)
	
	def __GetValue(self, stringName):
		eventDict = {
			"ziuaEveniment": self.eventData[0],
			"evenimentDurata": self.eventData[2]
		}
		
		return eventDict.get(stringName, '')

	def GetIndex(self):
		return self.eventIndex

class listaCalendar(ui.BoardWithTitleBar):

	LISTA_EVENIMENTE = [
		["Luni", "Clar de Luna", "11:00 - 03:30", "Evenimentu asta e smecher. Trebuie sa omori monstri sa iti cada cufere pe jos."],
		["Marti", "Nimic 2", "11:00 - 03:30", "Nici o descriere disponibila."],
		["Miercuri", "Nimic 3", "11:00 - 03:30", "Nici o descriere disponibila."],
		["Joi", "Nimic 4", "11:00 - 03:30", "Nici o descriere disponibila."],
		["Vineri", "Nimic 5", "11:00 - 03:30", "Nici o descriere disponibila."],
		["Sambata", "Nimic 6", "11:00 - 03:30", "Nici o descriere disponibila."],
		["Duminica", "Nimic 7", "11:00 - 03:30", "Nici o descriere disponibila."],
	]
	
	MAX_EVENTS = 7

	CULOARE_CATEGORII =  0xfffeba68

	def __init__(self):
		ui.BoardWithTitleBar.__init__(self)
		self.eventWindowList = []
		self.currentPage = 1
		self.__LoaWindow()

	def __del__(self):
		ui.BoardWithTitleBar.__del__(self)
		
	def __LoaWindow(self):
		self.SetSize(320, 232)
		self.SetCenterPosition()
		self.AddFlag('movable')
		self.SetTitleName("Calendar")
		self.SetCloseEvent(self.Close)
		
		##Make Categories
		##CategorySlot (1)
		ziuaCatSlot = ui.SlotBar()
		ziuaCatSlot.SetParent(self)
		ziuaCatSlot.SetSize(50, 17)
		ziuaCatSlot.SetPosition(25, 35)
		ziuaCatSlot.Show()
		self.ziuaCatSlot = ziuaCatSlot
		##CategorySlot (1)
		
		##CategoryText (1)
		ziuaCatText = ui.TextLine()
		ziuaCatText.SetPosition(0, 2)
		ziuaCatText.SetParent(self.ziuaCatSlot)
		ziuaCatText.SetText("Ziua")
		ziuaCatText.SetHorizontalAlignCenter()
		ziuaCatText.SetWindowHorizontalAlignCenter()
		ziuaCatText.SetPackedFontColor(self.CULOARE_CATEGORII)
		ziuaCatText.Show()
		self.ziuaCatText = ziuaCatText
		##CategoryText (1)
		
		##CategorySlot (2)
		evenimentCatSlot = ui.SlotBar()
		evenimentCatSlot.SetParent(self)
		evenimentCatSlot.SetSize(98, 17)
		evenimentCatSlot.SetPosition(87, 35)
		evenimentCatSlot.Show()
		self.evenimentCatSlot = evenimentCatSlot
		##CategorySlot (2)
		
		##CategoryText (2)
		evenimentCatText = ui.TextLine()
		evenimentCatText.SetPosition(0, 2)
		evenimentCatText.SetParent(self.evenimentCatSlot)
		evenimentCatText.SetText("Evenimentul")
		evenimentCatText.SetHorizontalAlignCenter()
		evenimentCatText.SetWindowHorizontalAlignCenter()
		evenimentCatText.SetPackedFontColor(self.CULOARE_CATEGORII)
		evenimentCatText.Show()
		self.evenimentCatText = evenimentCatText
		##CategoryText (2)
		
		
		##CategorySlot (3)
		durataCatSlot = ui.SlotBar()
		durataCatSlot.SetParent(self)
		durataCatSlot.SetSize(98, 17)
		durataCatSlot.SetPosition(196, 35)
		durataCatSlot.Show()
		self.durataCatSlot = durataCatSlot
		##CategorySlot (3)
		
		##CategoryText (3)
		durataCatText = ui.TextLine()
		durataCatText.SetPosition(0, 2)
		durataCatText.SetParent(self.durataCatSlot)
		durataCatText.SetText("Durata")
		durataCatText.SetHorizontalAlignCenter()
		durataCatText.SetWindowHorizontalAlignCenter()
		durataCatText.SetPackedFontColor(self.CULOARE_CATEGORII)
		durataCatText.Show()
		self.durataCatText = durataCatText
		##CategoryText (3)
		
		##CategorySeparator
		separator = ui.ImageBox()
		separator.SetParent(self)
		separator.SetPosition(25, 60)
		separator.LoadImage("d:/ymir work/ui/calendar/separator.tga")
		separator.Show()
		self.separator = separator
		##CategorySeparator
		
		##CreateListBox
		listBox = ui.ListBoxEx()
		listBox.SetParent(self)
		listBox.SetPosition(0, 68)
		listBox.SetSize(98, 300)
		listBox.SetItemStep(22)
		listBox.SetItemSize(98, 17)
		listBox.SetViewItemCount(self.MAX_EVENTS)
		listBox.Show()
		self.listBox = listBox
		##CreateListBox
		
		##CreateListBox2
		listBox2 = ui.ListBoxEx()
		listBox2.SetParent(self)
		listBox2.SetPosition(87, 68)
		listBox2.SetSize(98, 300)
		listBox2.SetItemStep(22)
		listBox2.SetItemSize(98, 17)
		listBox2.SetViewItemCount(self.MAX_EVENTS)
		listBox2.Show()
		self.listBox2 = listBox2
		##CreateListBox2
		
		self.__LoadEvents()
		
	def __LoadEvents(self):
		for eventIndex, eventData in enumerate(self.LISTA_EVENIMENTE):
			event = EventItem(self, eventIndex, eventData)
			eventslot = EventSlot(self, eventIndex, eventData)
			self.listBox.AppendItem(event)
			self.listBox2.AppendItem(eventslot)
		
	def Open(self):
		self.Show()

	def Close(self):
		self.Hide()

	def OnPressEscapeKey(self):
		self.Close()
		return True

	def OnPressExitKey(self):
		self.Close()
		return True
Pentru acest mesaj, budan199 a primit 2 (de) mulţumiri
gamesiasi • mageman211
Avatar utilizator
Dex
Nivel 3

Nivel 3
Mesaje: 397
Membru din: 07 Mai 2020, 14:32
Regat: Shinsoo
Aprecieri: 137  
Mulţumiri: 486  
Discord: Copiază ID
Medalii

Folosesti functia Toggle in interfacemodule
Imagine
Afișează semnătura
Avatar utilizator
BabyMS
Nou Venit

Nou Venit
Mesaje: 17
Membru din: 28 Aug 2021, 23:27
Server: Eliodas2.ro
Regat: Jinno
Aprecieri: 51  
Mulţumiri: 33  
Discord: Copiază ID
Medalii

Ii faci functie de close si ai rezolvat.
Avatar utilizator
budan199
Nivel 1

Nivel 1
Mesaje: 79
Membru din: 01 Iul 2015, 03:09
Server: s
Regat: Chunjo
Aprecieri: 202  
Mulţumiri: 2  
Medalii

Puteti fii mai expliciti?
Avatar utilizator
budan199
Nivel 1

Nivel 1
Mesaje: 79
Membru din: 01 Iul 2015, 03:09
Server: s
Regat: Chunjo
Aprecieri: 202  
Mulţumiri: 2  
Medalii

Up
Avatar utilizator
[Mafia83]
Membru Club

Membru Club
Mesaje: 777
Membru din: 24 Feb 2016, 20:32
Server: Metin2KGB
Regat: Jinno
Aprecieri: 279  
Mulţumiri: 2287  
Discord: Copiază ID
 Contact:
Medalii

Salut, din ce vad nu ti-a explicat nimeni cum trebuie sa faci acea functie iti las eu aici un model.
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.
Pentru acest mesaj, [Mafia83] a primit 17 (de) mulţumiri
budan199 • Helsinky • ILoveFeeding • Maruski • gamesiasi • google801 • HolyAngels • LegendaXXL • ##SomeBody • EspadaJR • gheorghe.gerard • [SeeTher] • Fita Bogdan • Khabal • Zenitsu • LordOfLighT • LiviXu
Închis
Răspunsuri
2
Vizualizări
124
Răspunsuri
2
Vizualizări
336
Răspunsuri
3
Vizualizări
289

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 29 vizitatori