Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Kivy工具栏出现故障_Python 3.x_Kivy_Kivy Language_Kivymd - Fatal编程技术网

Python 3.x Kivy工具栏出现故障

Python 3.x Kivy工具栏出现故障,python-3.x,kivy,kivy-language,kivymd,Python 3.x,Kivy,Kivy Language,Kivymd,我正在尝试使用kivymd构建一个窗口,其中包含若干“卡片”,其中包含某些信息和一些功能按钮。我试图做的是将卡片添加到网格布局,并在浮动布局中挂起该网格,但我在查看所附图像时遇到了一些问题。另外,请建议是否可以采用更好的方法。 这是窗口的代码。我将在稍后制作一些功能,以便在按下一些按钮时添加更多的卡 <ProjectCard@MDGridLayout> md_bg_color: 0, 1, 1, 1 cols: 1 MDToolbar: rig

我正在尝试使用kivymd构建一个窗口,其中包含若干“卡片”,其中包含某些信息和一些功能按钮。我试图做的是将卡片添加到网格布局,并在浮动布局中挂起该网格,但我在查看所附图像时遇到了一些问题。另外,请建议是否可以采用更好的方法。 这是窗口的代码。我将在稍后制作一些功能,以便在按下一些按钮时添加更多的卡

<ProjectCard@MDGridLayout>
    md_bg_color: 0, 1, 1, 1
    cols: 1
    MDToolbar:
        right_action_items: [["dots-vertical", lambda x: print(x)]]
        title: "Title"
        size_hint_y:0.3
    MDLabel:
        size_hint_y:0.1
        valign:"bottom"
        text:"mm:hh dd:mm:yy AM"
    MDLabel:
        size_hint_y:0.3
        multiline: True
        text:"john wick, richie rich, courage, garelt"
        valign:"top"
        adaptive_height: True
    GridLayout:
        rows:1
        cols:2
        size_hint_y:0.3
        MDLabel:
            text:"Status: " + "working"
        MDIconButton:
            icon:"details"
            adaptive_height: True




<ProjectsPage>
    FloatLayout
        MDGridLayout:
            pos_hint: {'center_x':0.5}
            size_hint_x:0.95
            spacing:[10, 10]
            cols:1
            ProjectCard:
                size_hint_y:0.3
            ProjectCard:
                size_hint_y:0.3
            ProjectCard:
                size_hint_y:0.3

md_背景_颜色:0,1,1,1
科尔斯:1
MDToolbar:
右行动项目:[[“垂直点”,λx:print(x)]]
标题:“标题”
尺寸:0.3
MDLabel:
尺寸:0.1
valign:“底部”
正文:“mm:hh dd:mm:yy AM”
MDLabel:
尺寸:0.3
多行:正确
文字:“约翰·威克、里奇·里奇、勇气、加雷特”
valign:“顶部”
自适应高度:真
网格布局:
行数:1
科尔斯:2
尺寸:0.3
MDLabel:
文本:“状态:”+“正在工作”
MDIconButton:
图标:“详细信息”
自适应高度:真
浮动布局
MDGridLayout:
位置提示:{'center_x':0.5}
尺寸:0.95
间距:[10,10]
科尔斯:1
项目卡:
尺寸:0.3
项目卡:
尺寸:0.3
项目卡:
尺寸:0.3
kivy window的图像

我认为您希望添加带有按钮的新卡,并且希望轻松查看所有卡。因此,您可以在页面上使用ScrollView。您还可以根据需要设置此页面的网格列。我将此选项设置为2。我在.py文件中创建了这些卡片。你也可以用千伏。我希望这些代码能帮助您理解如何通过操作轻松创建新卡。 main.py:

#main.py:
from kivy.uix.screenmanager import Screen,ScreenManager
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.app import MDApp
from kivy.properties import ObjectProperty
class ProjectsPage(Screen):
    cards_grid = ObjectProperty()
    def add_card(self):
        card = Card()
        self.cards_grid.add_widget(card)
class Card(MDBoxLayout):
    pass
class SM(ScreenManager):
    pass
class my(MDApp):
    def build(self):
        self.theme_cls.theme_style = "Dark"
        return SM()
if __name__ == '__main__':
    my().run()
<SM>:
    ProjectsPage:
<ProjectCard@MDGridLayout>
    size_hint_y:None
    height: '250sp'
    md_bg_color: 0, 1, 1, .5
    cols: 1
<ProjectsPage>:
    cards_grid:cards_grid
    BoxLayout:
        padding: '25sp','25sp','25sp','25sp'
        orientation: 'vertical'
        ScrollView:
            size_hint_y:.9
            do_scroll_x:False
            do_scroll_y:True
            GridLayout:
                id: cards_grid
                spacing: '25sp'
                size_hint_y:None
                height: self.minimum_height
                cols: 2
                Card:
                Card:
        Button:
            size_hint_y:.1
            text: 'Add New Card'
            on_release: root.add_card()
<Card>:
    orientation: 'vertical'
    size_hint_y:None
    height: '250sp'
    md_bg_color: 0, 1, 1, .5
    MDToolbar:
        right_action_items: [["dots-vertical", lambda x: print(x)]]
        title: "Title"
        size_hint_y:0.3
    MDLabel:
        size_hint_y:0.1
        valign:"bottom"
        text:"mm:hh dd:mm:yy AM"
    MDLabel:
        size_hint_y:0.3
        multiline: True
        text:"john wick, richie rich, courage, garelt"
        valign:"top"
        adaptive_height: True
    GridLayout:
        rows:1
        cols:2
        size_hint_y:0.3
        MDLabel:
            text:"Status: " + "working"
        MDIconButton:
            icon:"details"
            adaptive_height: True
my.kv:

#main.py:
from kivy.uix.screenmanager import Screen,ScreenManager
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.app import MDApp
from kivy.properties import ObjectProperty
class ProjectsPage(Screen):
    cards_grid = ObjectProperty()
    def add_card(self):
        card = Card()
        self.cards_grid.add_widget(card)
class Card(MDBoxLayout):
    pass
class SM(ScreenManager):
    pass
class my(MDApp):
    def build(self):
        self.theme_cls.theme_style = "Dark"
        return SM()
if __name__ == '__main__':
    my().run()
<SM>:
    ProjectsPage:
<ProjectCard@MDGridLayout>
    size_hint_y:None
    height: '250sp'
    md_bg_color: 0, 1, 1, .5
    cols: 1
<ProjectsPage>:
    cards_grid:cards_grid
    BoxLayout:
        padding: '25sp','25sp','25sp','25sp'
        orientation: 'vertical'
        ScrollView:
            size_hint_y:.9
            do_scroll_x:False
            do_scroll_y:True
            GridLayout:
                id: cards_grid
                spacing: '25sp'
                size_hint_y:None
                height: self.minimum_height
                cols: 2
                Card:
                Card:
        Button:
            size_hint_y:.1
            text: 'Add New Card'
            on_release: root.add_card()
<Card>:
    orientation: 'vertical'
    size_hint_y:None
    height: '250sp'
    md_bg_color: 0, 1, 1, .5
    MDToolbar:
        right_action_items: [["dots-vertical", lambda x: print(x)]]
        title: "Title"
        size_hint_y:0.3
    MDLabel:
        size_hint_y:0.1
        valign:"bottom"
        text:"mm:hh dd:mm:yy AM"
    MDLabel:
        size_hint_y:0.3
        multiline: True
        text:"john wick, richie rich, courage, garelt"
        valign:"top"
        adaptive_height: True
    GridLayout:
        rows:1
        cols:2
        size_hint_y:0.3
        MDLabel:
            text:"Status: " + "working"
        MDIconButton:
            icon:"details"
            adaptive_height: True
:
项目页面:
尺寸提示:无
高度:'250标度'
md_bg_颜色:0,1,1,5
科尔斯:1
:
卡片网格:卡片网格
盒子布局:
填充:“25sp”、“25sp”、“25sp”、“25sp”
方向:“垂直”
滚动视图:
大小提示:9
是否滚动\u x:False
是否滚动y:正确
网格布局:
id:cards\u grid
间距:“25sp”
尺寸提示:无
高度:自身最小高度
科尔斯:2
卡片:
卡片:
按钮:
大小\u提示\u y:.1
文本:“添加新卡”
发布时:root.add\u card()
:
方向:“垂直”
尺寸提示:无
高度:'250标度'
md_bg_颜色:0,1,1,5
MDToolbar:
右行动项目:[[“垂直点”,λx:print(x)]]
标题:“标题”
尺寸:0.3
MDLabel:
尺寸:0.1
valign:“底部”
正文:“mm:hh dd:mm:yy AM”
MDLabel:
尺寸:0.3
多行:正确
文字:“约翰·威克、里奇·里奇、勇气、加雷特”
valign:“顶部”
自适应高度:真
网格布局:
行数:1
科尔斯:2
尺寸:0.3
MDLabel:
文本:“状态:”+“正在工作”
MDIconButton:
图标:“详细信息”
自适应高度:真

非常感谢,我在项目页面中添加了一个滚动视图。做了一些调整,现在是完美的。我的选票不算,但我告诉你这很有帮助