Reputation: 156
How can i know number of page in pagelayout(kivy,python)For instance ,when user choose 3th page number of 'page' var will be 3.Please help
Upvotes: 0
Views: 174
Reputation: 16041
In PageLayout, the first page has a page number of 0. The third page is 2. Please refer to the example below for details.
Use for loop to determine the total number of pages in a PageLayout.
for page in self.children:
print(page)
for child in self.children:
if isinstance(child, PageLayout):
for page in child.children:
print(page)
from kivy.app import App
from kivy.uix.pagelayout import PageLayout
class RootWidget(PageLayout):
def print_page(self, btn):
print("{0} has a page number = {1}".format(btn.text, self.page))
class TestApp(App):
def build(self):
return RootWidget()
if __name__ == "__main__":
TestApp().run()
#:kivy 1.10.0
<RootWidget>:
Button:
text: 'page1'
on_release: root.print_page(self)
Button:
text: 'page2'
on_release: root.print_page(self)
Button:
text: 'page3'
on_release: root.print_page(self)
Upvotes: 1