首页 > 解决方案 > 我如何知道页面布局中的页数(kivy,python)

问题描述

我如何知道页面布局中的页数(kivy,python)例如,当用户选择“page”变量的第 3 页时,将是 3。请帮助

标签: pythonkivy

解决方案


PageLayout 中的页面编号

PageLayout中,第一页的页码为 0。第三页为 2。具体请参考下面的示例。

PageLayout 中的总页数

使用for 循环确定 PageLayout 中的总页数。

片段 - PageLayout 是 Root

    for page in self.children:
        print(page)

片段 - PageLayout 不是 Root

    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()

测试.kv

#: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)

输出

Img01 - page1 的页码为 0 Img02 - page3 的页码为 2


推荐阅读