Mohammad Mahjoub
Mohammad Mahjoub

Reputation: 457

How to make a Kivy App that interprets python code?

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput

class MyApp(App):
    def build(self):
        layout = BoxLayout(padding=10, orientation='vertical')
        btn1 = Button(text="Run")
        btn1.bind(on_press=self.buttonClicked)
        layout.add_widget(btn1)
        self.lbl1 = Label(text="After Running.. ")
        layout.add_widget(self.lbl1)
        self.txt1 = TextInput(text='', multiline=True)
        layout.add_widget(self.txt1)
        return layout

# button click function
    def buttonClicked(self, btn):
        self.lbl1.text = self.txt1.text


# run app
if __name__ == "__main__":
    MyApp().run()

I want to run python code in my Kivy app. That is, when I press "Run" it runs the program. Any ideas on how to do it?

Upvotes: 0

Views: 58

Answers (1)

Mohammad Mahjoub
Mohammad Mahjoub

Reputation: 457

codeInString = """

def main(x):
    print(x)

main("Mo")    

"""

codeObejct = compile(codeInString, 'function', 'exec')
exec(codeObejct)

I think this is one possible way to do it.

Upvotes: 1

Related Questions