Кнопка Tkinter была нажата и запустить программное обеспечение Kodi?

1

Я новичок в этом программировании на Python. Я пытаюсь сделать код, позволяющий кнопке tkinter запускать внешнее программное обеспечение в малине pi 3. К сожалению, нажата кнопка GUI, но внешнее программное обеспечение или программа не запускались. Внешняя программа, которая связывается с GUI кнопки, - это программное обеспечение kodi. Можно ли запустить программное обеспечение kodi при нажатии кнопки GUI?

from tkinter import
import os

class Trying(Frame):

    def __init__(self, master):
         Frame.__init__(self, master)
         self.grid()
         self.button()

    def button(self):
         self.test = Button(self, text="Lauch", command="kodi")
         self.test.grid()

    def kodi():
         os.startfile('/usr/share/applications/kodi.desktop')

root = Tk()
root.title("test kodi")
root.geometry("150x85")

app = Trying(root)

root.mainloop()
Теги:
tkinter

1 ответ

0
Лучший ответ

Вот ваш фиксированный код:

from tkinter import *
import os
import subprocess

class Trying(Frame):

    def __init__(self, master):
        Frame.__init__(self, master)
        self.grid()
        self.button()

    def button(self):
        self.test = Button(self, text="Lauch", command=self.kodi)
        self.test.grid()

    def kodi(self):
        print ("Button pressed")
        subprocess.call(['kodi'])

root = Tk()
root.title("test kodi")
root.geometry("150x85")

app = Trying(root)

root.mainloop()

Замечания:

  • укажите действие кнопки, подобное этой command=self.kodi
  • функция kodi должна принять аргумент def kodi(self)
  • 0
    спасибо за исправление. однако проблема сейчас в том, что модуль 'os' не имеет атрибута 'startfile'. Есть ли модуль, который может выполнить программу Kodi? или есть какой-нибудь путь, чтобы открыть коди с помощью кнопки?
  • 0
    @luriaz, попробуйте заменить os.startfile('/usr/share/applications/kodi.desktop') на from subprocess import call; call(['kodi']) .
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню