1
我有一個應用程序與多個按鈕,我需要按鈕時獲取按鈕的id和文本值作爲字符串。然後將該按鈕的抓取的Ids和文本值傳遞給另一個函數以供進一步處理。爲了簡單,我寫了這個示例程序。如何獲取作爲字符串的kivy按鈕的ID和文本值?
# main.py
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
########################################################################
class KVMyHBoxLayout(BoxLayout):
pass
########################################################################
class ExampleApp(App):
def Pressbtn(self, *args):
print'Pressed button'
#----------------------------------------------------------------------
def build(self):
return KVMyHBoxLayout()
#----------------------------------------------------------------------
if __name__ == "__main__":
app = ExampleApp()
app.run()
千伏文件
<[email protected]>:
color: .8,.9,0,1
font_size: 32
<KVMyHBoxLayout>:
orientation: 'vertical'
MyButton:
id:"idBtn1"
text: "Btn1"
background_color: 1,0,0,1
on_press:app.Pressbtn()
MyButton:
id:"idBtn2"
text: "Btn2"
background_color: 0,1,0,1
on_press:app.Pressbtn()
Label:
text: "ID"
background_color: 0,0,1,1
Label:
text: "Text"
background_color: 1,0,1,1
當按鈕被按下的id和文本的其相應的值將在ID和文字標籤顯示。目前上述代碼僅打印按下按鈕時按下按鈕。我想知道如何pythonically得到按鈕和文本的值。
由於它的作品我用一個屏幕內按鈕,當我按下按鈕返回屏幕的對象'<用戶名='FirstScreen'>'任何想法如何獲取按鈕實例,該實例位於屏幕內部的佈局內。 – Eka
@Eka即使按鈕位於「屏幕」內部的佈局內,該代碼也能正常工作(除了獲取「id」)。如果您無法正常工作,請通過添加代碼來編輯問題,以查看我是否可以幫助您。最好的祝福。 – FJSevilla
這是我的代碼https://pastebin.com/PDQpXbkU我正在屏幕類中動態地使用按鈕創建一個Scrollview boxlayout。這個'on_press = lambda a:self.Press_auth(self)'我把它從一些示例代碼中,它檢測到按下事件,但它傳遞的對象是' –
Eka