Я хотел бы добавить текст на кнопке, используя python KIVY - PullRequest
1 голос
/ 14 апреля 2020

Я делаю проект, используя python KIVY. Мне нужна твоя помощь

Q1. Я хотел бы добавить текст «Выбор режима» на кнопку. Понравилось изображение:

enter image description here

Q2. Я хочу создать файл kv, но не могу его создать, даже если я ищу много информации.

import kivy
kivy.require('1.9.1')
from kivy.app import App 
from kivy.uix.label import Label 
from kivy.properties import ListProperty
from kivy.graphics import Color, Rectangle
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.core.window import Window
Window.clearcolor = (1, 1, 1, 1) #white
from kivy.lang import Builder

class AIObjectCameraApp(App): 
    def button_click_callback(self, instance): #Callback print
        print('The button <%s> is being pressed' % instance.text)

    def build(self):
        layout = BoxLayout(padding=200) 
        button = Button(text='Object', size_hint=(.5, .0), font_size=50) 
        button.bind(on_press=self.button_click_callback) #Click Event
        button2 = Button(text='Street', size_hint=(.5, .0), font_size=50) 
        button2.bind(on_press=self.button_click_callback) #click Event
        layout.add_widget(button)
        layout.add_widget(button2)

        return layout

if __name__ == '__main__': 
    AIObjectCameraApp().run() 

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

Вот модифицированная версия вашего кода, которая использует строку kv и включает в себя нужный текст:

import kivy
kivy.require('1.9.1')
from kivy.app import App
from kivy.core.window import Window
Window.clearcolor = (1, 1, 1, 1) #white
from kivy.lang import Builder

kv = '''
BoxLayout:
    orientation: "vertical"
    Label:
        text: "Select Mode"
        color: 0,0,0,1  #default is white, which will not be visible
        size_hint: 1, .5
        font_size: 50
    BoxLayout:
        padding: 200
        Button:
            text: "Object"
            size_hint: .5, .0
            font_size: 50
            on_press: app.button_click_callback(self)
        Button:
            text: "Street"
            size_hint: .5, .0
            font_size: 50
            on_press: app.button_click_callback(self)

'''

class AIObjectCameraApp(App):
    def button_click_callback(self, instance): #Callback print
        print('The button <%s> is being pressed' % instance.text)

    def build(self):
        return Builder.load_string(kv)

if __name__ == '__main__':
    AIObjectCameraApp().run()
0 голосов
/ 14 апреля 2020

Попробуйте добавить метку:

import kivy
kivy.require('1.9.1')
from kivy.app import App 
from kivy.uix.label import Label 
from kivy.properties import ListProperty
from kivy.graphics import Color, Rectangle
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.core.window import Window
Window.clearcolor = (1, 1, 1, 1) #white
from kivy.lang import Builder

class AIObjectCameraApp(App): 
    def button_click_callback(self, instance): #Callback print
        print('The button <%s> is being pressed' % instance.text)

    def build(self):
        layout = BoxLayout(padding=200) 
        lab=Label(text="Select Mode", font_size='35',color =[0, 0, 0, 1])
        button = Button(text='Object', size_hint=(.5, .0), font_size=50) 
        button.bind(on_press=self.button_click_callback) #Click Event
        button2 = Button(text='Street', size_hint=(.5, .0), font_size=50) 
        button2.bind(on_press=self.button_click_callback) #click Event
        layout.add_widget(lab)
        layout.add_widget(button)
        layout.add_widget(button2)

        return layout

if __name__ == '__main__': 
    AIObjectCameraApp().run() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...