Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 13, 2017 11:26:06

Ilyask
Зарегистрирован: 2016-08-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'AmpApp' object has no attribute 'setOrientation'

Никак не могу разобраться с классами. Мне в проге необходимо изменить горизонтальную ориентацию кнопок на вертикальную. С горизонтальной все работает нормально.
Ошибка в строке: myApp.setOrientation(orient=“vertical”)
AttributeError: ‘AmpApp’ object has no attribute ‘setOrientation’

Как это можно подправить?

from kivy.uix.boxlayout import BoxLayout
from kivy.app import App
from kivy.uix.button import Button
import webbrowser



class Amp(BoxLayout):
def __init__(self, **kwargs):
super(Amp, self).__init__(**kwargs)


btn1 = Button(text=“Button1”)
btn1.bind(on_press=self.hello)
self.add_widget(btn1)

btn2 = Button(text=“Button2”)
btn2.bind(on_press=self.world)
self.add_widget(btn2)

def hello(self, obj):
webbrowser.open('http://python.org')

def world(self, obj):
webbrowser.open('http://youtube.com')



class AmpApp(App):
def build(self):
return Amp()


if __name__ == “__main__”:
myApp = AmpApp()
myApp.setOrientation(orient=“vertical”)
print(“myApp name is %s” % myApp.name)

myApp.run()

Офлайн

#2 Янв. 13, 2017 11:55:27

wallet
Зарегистрирован: 2016-02-21
Сообщения: 50
Репутация: +  2  -
Профиль  

Ошибка AttributeError: 'AmpApp' object has no attribute 'setOrientation'

В стандартной библиотеке Kivy метода ‘setOrientation’ нет, откуда вы его взяли



Офлайн

#3 Янв. 13, 2017 12:07:39

Ilyask
Зарегистрирован: 2016-08-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'AmpApp' object has no attribute 'setOrientation'

Согласен. Отредактировал код, запускается, но с черным экраном(((

from kivy.uix.boxlayout import BoxLayout
from kivy.app import App
from kivy.uix.button import Button
import webbrowser



class Amp(BoxLayout):
def __init__(self, **kwargs):
super(Amp, self).__init__(**kwargs)

layout = BoxLayout(orientation='vertical')

btn1 = Button(text=“Button1”,on_press = self.hello)
layout.add_widget(btn1)


btn2 = Button(text=“Button2”,on_press=self.world)
layout.add_widget(btn2)


def hello(self, obj):
webbrowser.open('http://python.org')

def world(self, obj):
webbrowser.open('http://youtube.com')

return layout

class AmpApp(App):
def build(self):
return Amp()


if __name__ == “__main__”:
myApp = AmpApp()
print(“myApp name is %s” % myApp.name)

myApp.run()

Офлайн

#4 Янв. 13, 2017 12:38:12

wallet
Зарегистрирован: 2016-02-21
Сообщения: 50
Репутация: +  2  -
Профиль  

Ошибка AttributeError: 'AmpApp' object has no attribute 'setOrientation'

Попробуйте так:

 class AmpApp(App):
    def build(self):
        return Amp()
if __name__ == __main__:
     AmpApp().run()

Отредактировано wallet (Янв. 13, 2017 13:07:03)

Офлайн

#5 Янв. 13, 2017 12:48:39

Ilyask
Зарегистрирован: 2016-08-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'AmpApp' object has no attribute 'setOrientation'

Нет, все равно черный экран только.

Офлайн

#6 Янв. 13, 2017 13:13:01

wallet
Зарегистрирован: 2016-02-21
Сообщения: 50
Репутация: +  2  -
Профиль  

Ошибка AttributeError: 'AmpApp' object has no attribute 'setOrientation'

 from kivy.uix.button import Button
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
import webbrowser
    
class AmpApp(App):
    def hello(self, obj):
        webbrowser.open('http://python.org')
        
    def world(self, obj):
        webbrowser.open('http://youtube.com')
        
    
    def build(self):
        layout = BoxLayout(orientation='vertical')
        btn1 = Button(text="Button1",on_press = self.hello)
        layout.add_widget(btn1)
        btn2 = Button(text="Button2",on_press = self.world)
        layout.add_widget(btn2)
        return layout
if __name__ == "__main__":
     AmpApp().run()

Офлайн

#7 Янв. 13, 2017 13:24:13

Ilyask
Зарегистрирован: 2016-08-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'AmpApp' object has no attribute 'setOrientation'

Спасибо большое!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version