#python
#python
Вопрос:
В настоящее время я работаю над разработкой нового скина для Kodi, который включает кнопки, окна и динамические данные, такие как часы и дата, которые будут работать на сенсорном экране. Я делаю этот проект с помощью python. До сих пор мне удавалось создавать экран с кнопками, окнами и временем / датой, но у меня возникает проблема, когда дело доходит до объединения функций кнопок с часами. Если я настрою синхронизацию часов на секунду, кнопки будут непригодны для использования (все окно синхронизируется при синхронизации часов). Если я заставлю кнопки работать, часы будут показывать время с момента запуска kodi. Созданный мной скрипт основан на основном классе, основном классе отображения, со всеми элементами в виде функций и объектов.
Код:
из будущего отдела импорта импортируйте xbmcaddon, xbmc, xbmcgui, os, time, sys, многопроцессорность, подпроцесс
addon = xbmcaddon.Addon() addonname = addon.getAddonInfo(‘имя’)
white_color= ‘0xFFFFFFFF’ background_image = ‘special://home//addons//script.ici.media.script//resources//img//333.jpg ‘power_button = ‘специальный://главная страница//дополнения//script.ici.media.script//ресурсы//img//icon.png’
определение класса окна
ACTION_PREVIOUS_MENU = 10
класс MainDisplay(xbmcgui.Window): def init(self): # aici intra metode подсказка buton,text, imagine и т. Д.self.addControl(xbmcgui.ControlImage(0, 0, 1280, 720,background_image))
self.background_image = 'special://home//addons//script.ici.media.script//resources//img//333.jpg'
self.addControl(xbmcgui.ControlImage(0, 0, 1280, 720, background_image))
self.strClockInfo = xbmcgui.ControlLabel(0, 15, 1280, 70,"" , font="ClockFont", textColor=white_color,alignment= 6)
self.clock = time.strftime(" %H:%M:%S ")
self.strClockInfo.setLabel(self.clock)
self.addControl(self.strClockInfo)
self.strDateInfo = xbmcgui.ControlLabel(0, 105, 1280, 0, "", font="ClockFont", textColor=white_color,alignment=6)
self.date = time.strftime("%d-%m-%Y")
self.strDateInfo.setLabel(self.date)
self.addControl(self.strDateInfo)
self.strActionInfo = xbmcgui.ControlLabel(100, 75, 400, 500, '', 'font30', '0xFFFF00')
self.addControl(self.strActionInfo)
# self.strActionInfo.setLabel('Push ESC to quit')
self.button0 = xbmcgui.ControlButton(0, 50, 300, 300, 'Camera 1', alignment=6)
self.addControl(self.button0)
self.button1 = xbmcgui.ControlButton(980, 50, 300, 300, 'Camera 2', alignment=6)
self.addControl(self.button1)
self.button2 = xbmcgui.ControlButton(0, 400, 300, 300, 'Camera 3', alignment=6)
self.addControl(self.button2)
self.button3 = xbmcgui.ControlButton(980, 400, 300, 300, 'Camera 4', alignment=6)
self.addControl(self.button3)
self.button4 = (xbmcgui.ControlButton(620, 650, 35, 45, "", alignment=6))
self.addControl(self.button4)
self.button5 = (xbmcgui.ControlImage(610, 640, 70, 70, power_button))
self.addControl(self.button5)
def onAction(self, action):
if action == ACTION_PREVIOUS_MENU:
self.close()
def onControl(self, control):
if control == self.button0:
self.message("Camera 1",'')
if control == self.button1:
self.message("Camera 2","")
if control == self.button2:
self.message("Camera 3","")
if control == self.button3:
self.message("Camera 4","")
if control == self.button4:
xbmc.shutdown()
def message(self, heading, message):
dialog = xbmcgui.Dialog()
dialog.ok(heading, message)
mydisplay = MainDisplay()
mydisplay.DoModal()
удалить mydisplay
Комментарии:
1. Итак, в чем вопрос?
2. @UnholySheep как я прочитал в первом абзаце после «объединения функций кнопок с часами», проблема заключается в том, но форматирование и более четкое указание того, что происходит и что должно — может сделать этот вопрос лучше.
3. ДА. Извините за это. если я настрою часы для синхронизации, кнопки больше не будут активны. Если я заставлю кнопки работать, часы будут отображаться, но время не будет обновляться. Я хочу отобразить часы, которые показывают реальное время в реальном времени, и при этом нажимать кнопки.