本文主要是介绍Kivy.garden.NavigationDrawer 后续学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如百词斩部分代码
MRWord\pages\infopage\info.kv
<InfoPage>:anim_type: 'slide_above_simple'id: main_winbox_button_anchor: box_button_anchor.__self__three_labels_box: three_labels_box.__self__box_phonetic: box_phonetic.__self__BoxLayout:BoxLayout:id: main_boxorientation: 'vertical'spacing: 20canvas.before:Color:rgba: (1,1,1,1)Rectangle:pos: self.possize: self.sizesource: 'image/back.jpg'BoxLayout:orientation: 'vertical'id: word_phonetic_boxLabel:id: word_to_studyfont_size: '50sp'color: 1, 0, 0, 1BoxLayout:orientation: "horizontal"id: box_phoneticspacing: 8AnchorLayout: # 右上角布局的 小喇叭 按钮anchor_x: 'right'anchor_y: 'top'ImageButton:id: phonetic_imagesource: "image/play_button.png"size_hint: None, Nonesize: 50, 22on_press: root.play_word()AnchorLayout: # 左上角 音标anchor_x: "left"anchor_y: "top"Label:id: phoneticfont_name: "site_packages/DejaVuSans.ttf"size_hint: None, Nonesize: 30, 22color: 0, 0, 0, 1BoxLayout:id: three_labels_boxorientation: 'vertical'Label:id: explain_wordfont_name: "site_packages/DroidSansFallback.ttf"color: 0, 0, 0, 1Label:id: examples_enfont_name: "site_packages/DroidSansFallback.ttf"color: 0, 0, 0, 1Label:id: examples_cnfont_name: "site_packages/DroidSansFallback.ttf"color: 0, 0, 0, 1BoxLayout:orientation:"horizontal"id: box_button_anchorAnchorLayout:anchor_x: "left"anchor_y: "bottom"Button:text:"\u8ba4\u8bc6" # 认识size_hint: .8, .2font_name: "site_packages/DroidSansFallback.ttf"background_normal: ''background_color: (0.035,0.588,0.941,1)on_press: root.know_button_press()AnchorLayout:anchor_x: "center"anchor_y: "bottom"Button:text:"\u6a21\u7cca" # 模糊size_hint: .8, .2font_name: "site_packages/DroidSansFallback.ttf"background_normal: ''background_color: (1,.494,0,1)on_press: root.indistinct_button_press()AnchorLayout:anchor_x: "right"anchor_y: "bottom"Button:text:"\u4e0d\u8ba4\u8bc6" # 不认识size_hint: .8, .2font_name: "site_packages/DroidSansFallback.ttf"background_normal: ''background_color: (0.988,0.509,0.509,1)on_press: root.unknown_button_press()
搞不懂这三串儿代码的作用
box_button_anchor: box_button_anchor.__self__
three_labels_box: three_labels_box.__self__
box_phonetic: box_phonetic.__self__
将此三串儿代码删除后,程序运行到该页面报错崩溃。
思维拓展1:
在您提供的代码片段中,您似乎正在访问某种对象(可能是界面元素或自定义组件)的 __self__
属性。这种模式在特定的编程环境或框架中可能很常见,但并非所有编程语言或框架都内置了 __self__
这样的属性。不过,基于常见的上下文,我可以提供一些推测的解释。
- 自定义组件或对象:在某些框架或库中,
__self__
可能是一个约定俗成的属性,用于引用组件或对象的“原始”或“基础”实例。这可能是因为组件或对象被包装或扩展了额外的功能,而__self__
用于直接访问这些扩展之前的原始实例。 - 引用DOM元素:在Web开发中,特别是使用像React这样的库时,组件可能不仅包含状态和逻辑,还包含对DOM元素的引用。
__self__
可能是一个指向与该组件关联的DOM元素的引用。但请注意,React等现代框架通常不使用__self__
这样的命名约定,而是使用ref
或其他机制来引用DOM元素。 - 框架或库的内部机制:在某些情况下,
__self__
可能是特定框架或库的内部机制的一部分,用于实现某些高级功能或优化。开发者可能不需要直接与其交互,但了解其存在和用途可能有助于更好地理解框架或库的工作原理。 - 错误或误解:最后,也有可能是这段代码是基于某种特定的上下文或框架编写的,而您可能不完全理解这个上下文或框架。在这种情况下,最好查阅相关文档或源代码以获取更多信息。
针对您提供的具体代码片段:
box_button_anchor: box_button_anchor.__self__
:这行代码似乎正在将box_button_anchor
的__self__
属性赋值给box_button_anchor
本身。这通常没有实际意义,除非box_button_anchor
在此之前被定义为一个具有__self__
属性的对象,并且您想要用该属性替换原始对象。three_labels_box: three_labels_box.__self__
和box_phonetic: box_phonetic.__self__
:这两行代码与上一行类似,但针对的是不同的对象。
总之,要了解这些代码的确切作用和意义,您需要查阅与这些代码相关的文档、源代码或上下文信息。
个人总结: 这self 可能就是一种类似global概念
这篇关于Kivy.garden.NavigationDrawer 后续学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!