Ich versuche, eine benutzerdefinierte Schaltfläche zu erstellen, die Farben ändern wird, wenn sie gedrückt wird (tatsächlich den Farbton auf einem Bild ändern), und ich kann die on_press nicht sogar richtig funktionieren. Die App läuft, aber die Taste gibt die Fehlermeldung: "Attribut Fehler: 'Image' Objekt hat kein Attribut 'change_color'"Wie komme ich an on_press, um in benutzerdefinierten Schaltflächen zu arbeiten?
Die Python-Datei:
import kivy
kivy.require("1.10.0")
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.image import Image
from kivy.lang.builder import Builder
class Container(BoxLayout):
pass
class ImageButton():
def change_color(self):
print("Success!")
class TestName(App):
def build(self):
return tester
tester = Builder.load_file("test.kv")
if __name__ == '__main__':
TestName().run()
Die Kivy Datei:
Container:
<Container>:
BoxLayout:
ImageButton:
source: "emptybox.png"
<[email protected]>:
source: None
on_press: root.change_color()
Image:
source: root.source
pos: root.pos
size: root.size
Möchten Sie die Hintergrund- oder Textfarbe von ImageButton ändern? – FJSevilla
Ich werde eine transparente Leinwand über die Schaltfläche erstellen, wenn sie gedrückt wird, wodurch sie dunkler aussieht. –
Ich habe gerade eine Antwort erstellt, in diesem Fall ändere ich den Hintergrund mit einem transparenten Bild. Wenn Sie jedoch ein Problem haben, kommentieren Sie bitte und ich werde die Antwort bearbeiten. – FJSevilla