python顺序执行 toggle_pythonkivymd:如何使toggle_nav_drawer()函数工作?

我的kv代码有问题。我想用几个NavigationDrawerIconButtons创建一个MDNavigationDrawer。窗口会出现,但当我单击MDToolbar时,程序崩溃并显示此错误消息。在Traceback (most recent call last):

File "C:/Users/path/to/my/file/main.py", line 189, in

KivyGUI().run()

File "C:\Users\uname\Anaconda3\lib\site-packages\kivy\app.py", line 855, in run

runTouchApp()

File "C:\Users\uname\Anaconda3\lib\site-packages\kivy\base.py", line 504, in runTouchApp

EventLoop.window.mainloop()

File "C:\Users\uname\Anaconda3\lib\site-packages\kivy\core\window\window_sdl2.py", line 746, in mainloop

self._mainloop()

File "C:\Users\uname\Anaconda3\lib\site-packages\kivy\core\window\window_sdl2.py", line 478, in _mainloop

EventLoop.idle()

File "C:\Users\uname\Anaconda3\lib\site-packages\kivy\base.py", line 342, in idle

self.dispatch_input()

File "C:\Users\uname\Anaconda3\lib\site-packages\kivy\base.py", line 327, in dispatch_input

post_dispatch_input(*pop(0))

File "C:\Users\uname\Anaconda3\lib\site-packages\kivy\base.py", line 293, in post_dispatch_input

wid.dispatch('on_touch_up', me)

File "kivy\_event.pyx", line 707, in kivy._event.EventDispatcher.dispatch

File "C:\Users\uname\Anaconda3\lib\site-packages\kivymd\ripplebehavior.py", line 84, in on_touch_up

return super().on_touch_up(touch)

File "C:\Users\uname\Anaconda3\lib\site-packages\kivymd\button.py", line 480, in on_touch_up

return super().on_touch_up(touch)

File "C:\Users\uname\Anaconda3\lib\site-packages\kivy\uix\behaviors\button.py", line 179, in on_touch_up

self.dispatch('on_release')

File "kivy\_event.pyx", line 703, in kivy._event.EventDispatcher.dispatch

File "kivy\_event.pyx", line 1214, in kivy._event.EventObservers.dispatch

File "kivy\_event.pyx", line 1138, in kivy._event.EventObservers._dispatch

File "C:\Users\path\to\my\file\design.kv", line 59, in

left_action_items: [['dots-vertical', lambda x: root.toggle_nav_drawer()]]

File "kivy\weakproxy.pyx", line 32, in kivy.weakproxy.WeakProxy.__getattr__

AttributeError: 'LayoutPy' object has no attribute 'toggle_nav_drawer'

我从一个单独的文件导入kv代码。在

^{pr2}$

Python代码:import sys

import kivy

from kivy.app import App

from kivy.uix.floatlayout import FloatLayout

from kivy.uix.boxlayout import BoxLayout

from kivy.core.window import Window

from kivymd.theming import ThemeManager

from kivymd.label import MDLabel

from kivymd.textfields import MDTextField, MDTextFieldClear, MDTextFieldRect, MDTextFieldRound

from kivy.lang import Builder

from kivymd.navigationdrawer import MDNavigationDrawer, NavigationDrawerIconButton, NavigationLayout

from kivy.properties import ObjectProperty

from kivymd.toast import toast

kivy.require('1.11.0')

class LayoutPy(FloatLayout):

def __init__(self, **kwargs):

super(LayoutPy, self).__init__(**kwargs)

self.scr_mngr = ObjectProperty(None)

self.build_nav_btns()

def callback(self, instance, value):

toast("Pressed item menu %d" % value)

def exit(self):

sys.exit(1)

def build_nav_btns(self):

btns = ["Select Language", "Contact the developer", "Exit"]

for count, btn in enumerate(btns):

if count == 1:

self.ids.nav_drawer.add_widget(

NavigationDrawerIconButton(

icon='settings', text=btn,

on_release=lambda x, btn: self.callback(x, btn)))

elif count == 2:

self.ids.nav_drawer.add_widget(

NavigationDrawerIconButton(

icon='face', text=btn,

on_release=lambda x, btn: self.callback(x, btn)))

elif count == 3:

self.ids.nav_drawer.add_widget(

NavigationDrawerIconButton(

icon='close', text=btn,

on_release=lambda x: self.exit()))

Builder.load_file("design.kv")

class KivyGUI(App):

theme_cls = ThemeManager()

theme_cls.primary_palette = ("Teal")

title = ("App")

def build(self):

c = LayoutPy()

return c

if __name__ == "__main__":

KivyGUI().run()

我对Python代码进行了大量的裁剪,这样对您来说就更清楚了。我不认为这是模块本身的问题,因为KivyMD example code对我来说很好(这也是我运行它时解决方案的外观)。我认为问题是我的LayoutPy类继承了FloatLayout,它没有{}对象。。。但是我现在不知道如何在我现有的代码中实现一个合适的解决方案(我现在正在尝试两天)。如果您需要整个代码(在添加NavigationDrawer之前,一切都很好),您可以看看here。在

先谢谢你!在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Angularjs+Nodejs图片上传

1.插件 (1) &#xff1a;angular插件 ng-file-upload (2) : nodejs插件connect-multiparty 2.html <input type"file" ngf-select ng-model"files" ngf-multiple"true" /> 3.配置 var app angular.module(fileUpload, [ngFileUpload]);可…

mysql 日志同步 数据不同步_Mysql互为主从问题--日志同步数据不同步

Mysql互为主从问题--日志同步数据不同步我搭建的是mysql互为主从 复制两台机器的mysql环境完全相同第一部分测试&#xff1a;B为master A为slave的同步测试在B上创建表lian&#xff0c;并插入数据mysql> create table lian (a int,b char(10));mysql> insert into lian (…

UVALive 4764 dp

DES: 这是一个新的游戏。给你一套牌、编号从1到100000.正常来说。你手中的牌和这次翻的牌是一样的&#xff0c;就会加一分。但是。如果是999的话。加三分。所以问你最大的分是多少。 貌似是简单的DP吧。&#xff08;DP菜鸟...再简单我也不会...T_T...&#xff09;于是...我看懂…

mysql数据库事务命令_MySql学习18----数据库事务---命令使用(02)

本篇讲述数据库中非常重要的事务概念和如何使用MySQL命令行窗口来进行数据库的事务操作。下一篇会讲述如何使用JDBC进行数据库的事务操作。事务是指数据库中的一组逻辑操作&#xff0c;这个操作的特点就是在该组逻辑中&#xff0c;所有的操作要么全部成功&#xff0c;要么全部失…

iOS 高效 Mac 配置

https://testerhome.com/topics/3045 https://support.apple.com/zh-cn/HT201236转载于:https://www.cnblogs.com/mobilefeng/p/4701469.html

壁式框架内力计算_剪力墙结构设计计算要点和实例

剪力墙计算第5章剪力墙结构设计本章主要内容&#xff1a;5.1概述结构布置剪力墙的分类剪力墙的分析方法5.2整体剪力墙和整体小开口剪力墙的计算整体剪力墙的计算整体小开口剪力墙的计算5.3联肢剪力墙的计算双肢剪力墙的计算多肢墙的计算5.4壁式框架的计算计算简图内力计算位移的…

Linux删除文件夹命令

Linux删除文件夹命令 linux删除目录很简单&#xff0c;很多人还是习惯用rmdir&#xff0c;不过一旦目录非空&#xff0c;就陷入深深的苦恼之中&#xff0c;现在使用rm -rf命令即可。直接rm就可以了&#xff0c;不过要加两个参数-rf 即&#xff1a;rm -rf 目录名字 删除目录、文…

concat合并的数组会有顺序么_javascript concat 数组与数组或数组与字符串的合并

concat 方法将传入的数组或非数组值与原数组合并,组成一个新的数组并返回.concat()基本语法&#xff1a;array.concat(value1, value2, ..., valueN)concat()参数说明&#xff1a;参数名参数说明array原数组value1, value2, ..., valueN需要与原数组合并的数组或非数组值.conca…

C#调用mciSendString播放音频文件

mciSendString函数是一个WinAPI&#xff0c;主要用来向MCI&#xff08;Media Control Interface&#xff09;设备发送字符串命令。 一、函数的声明如下&#xff1a; private static extern long mciSendString(string command, //MCI命令字符串string returnString, //存放…

mysql 存json中文乱码怎么设置_json接口插入数据库中文乱码

现象&#xff1a;1. 数据库中文乱码控制台显示中文乱码加载的日志2016-08-28 16:00:42,894 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:174) DEBUG - JDBC URL --> jdbc:mysql://139.129.118.219:13306/CloudServer2016-08-28 16:00:42,989 org.nutz.dao.impl.…

[转]进程间通信 - ipcrm

ipcrm 命令删除一个或更多的消息队列、信号量集或者共享内存标识。 简介 ipcrm [ -M key | -m id | -Q key | -q id | -S key | -s id ] ... 错误的用法 ipcrm {shm|msg|sem} id... 1.使用说明 ipcrm -M shmkey 移除用shmkey创建的共享内存段 ipcrm -m shmid 移除用shmid标…

python批量修改文件名为excel中指定名称_在Python脚本的帮助下,使用excelsh中的名称映射重命名文件夹中的文件名...

在一个文件夹中有许多CSV文件我想重命名。有一个excel工作表&#xff0c;其中包含要重命名为文件夹的文件名。在文件夹中的文件名为测试数据&#xff1f;30四月.csv在测试数据&#xff1f;20四月.csv在测试数据18四月.csv等等而excel工作表包含的名称为0.25-测试数据4月30日0.9…

sequelize连接mysql_Sequelize没有连接mysql

文件config / config.json{"development": {"username": "root","password": null,"database": "example","host": "example.sqlite","dialect": "sqlite"},"stage…

java开发微信公众平台备忘

简单记录下前段时间开发的电子书的 公众平台的一些备忘及开发心得经验等 eclipse的一些技巧: 1.ctrlshifto 自动添加必要import空间及移除无用import 项目备忘说明 1.struts配置 :resources->struts.xml 经验心得: 1.struts在前台显示后台属性&#xff1a;${属性名称}&#…

java初级程序员_为什么现在JAVA初级程序员要求这么高?

为什么现在JAVA初级程序员要求这么高&#xff1f;举个例子&#xff0c;在90年代&#xff0c;我们吃的是什么&#xff1f;有像现在每天没肉吃就吃不下饭的时候吗&#xff1f;那在90年代我们的编程技术又是什么样的&#xff1f;是不是垃圾的再垃圾不过了&#xff1f;那时候是不是…

html5晋级之路-css背景

css背景&#xff1a; css允许应用纯色作为背景&#xff0c;也允许使用图片来创建相当复杂的效果。 background-attachment 背景图像书否固定或随页面的其余部分滚动 background-color 设置元素的背景颜色 background-image 把…

java word在线预览_java 生成word文档并且在线预览的问题

富文本&#xff1f;用iText或者PD4ML直接转换为pdf[code"java"]String outputFile "D:/Test/demo_3.pdf";OutputStream os new FileOutputStream(outputFile);ITextRenderer renderer new ITextRenderer();ITextFontResolver fontResolver renderer.ge…

java中引用

谈论Java肯定离不开其中的垃圾回收机制&#xff0c;无论是通过引用计数算法判断对象的引用数量&#xff0c;还是通过根搜索算法判断对象的引用链是否可达&#xff0c;判断对象是否存活都与“引用”有关。 在JDK1.2之前&#xff0c;Java中引用的定义很传统&#xff1a;如果refer…

SQL SERVER 2014 各个版本支持的功能

转自&#xff1a;https://technet.microsoft.com/library/cc645993 转换箱规模限制 功能名称EnterpriseBusiness IntelligenceStandardWebExpress with Advanced ServicesExpress with ToolsExpress单个实例使用的最大计算能力&#xff08;SQL Server 数据库引擎&#xff09;1操…

关于src和background

今天想修改imageview的src里的图片时&#xff0c;发现居然没有setSrcResource方法&#xff0c;但是setBackGroundResource肯定不行啊。 后来找了好几遍&#xff0c;其实与src对应的就是 setImageResource方法。以后别忘记了哦。转载于:https://www.cnblogs.com/heartstong/p/47…