python - 在 MDToolbar 的中心对齐标题
问题描述
如何在 MDToolbar 的中心对齐标题?
下面是代码:
from kivy.lang import Builder
from kivy.properties import ObjectProperty
from kivy.uix.boxlayout import BoxLayout
from kivymd.app import MDApp
class MyLayout(BoxLayout):
scr_mngr = ObjectProperty(None)
def change_screen(self, screen, *args):
self.scr_mngr.current = screen
KV = """
MyLayout:
scr_mngr: scr_mngr
orientation: 'vertical'
MDToolbar:
id: toolbar
title: 'My App'
anchor_title: 'center'
right_action_items: [['settings', lambda x: root.change_screen('profile') ]]
ScreenManager:
id: scr_mngr
Screen:
name: 'profile'
"""
class MyApp(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def build(self):
return Builder.load_string(KV)
MyApp().run()
工具栏现在看起来像这样,但我想成为绿色框中的文本
解决方案
我有同样的问题。
感谢 Xyanight 在此链接上的回答,帮助我找到了答案:KivyMD 如何更改 MDToolbar 标题大小和字体?
转到此链接并相应地添加以下内容:
Clock.schedule_once(self.set_toolbar_title_halign)
def set_toolbar_title_halign(self, *args):
self.ids.toolbar.ids.label_title.halign = "center"
这是 Xyanight 的示例,对标题对齐进行了一些调整:
from kivy.clock import Clock
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
from kivymd.app import MDApp
kv = Builder.load_string(
"""
<SM>
P1:
<P1>
BoxLayout:
orientation: 'vertical'
MDToolbar:
id: toolbar
title: 'TEST'
""")
class P1(Screen):
def __init__(self, **kw):
super().__init__(**kw)
Clock.schedule_once(self.set_toolbar_title_halign)
Clock.schedule_once(self.set_toolbar_font_size)
def set_toolbar_title_halign(self, *args):
self.ids.toolbar.ids.label_title.halign = "center"
def set_toolbar_font_size(self, *args):
self.ids.toolbar.ids.label_title.font_size = '50sp'
class SM(ScreenManager):
pass
class MyApp(MDApp):
def build(self):
return SM()
if __name__ == '__main__':
MyApp().run()
这是我第一次投稿。
推荐阅读
- google-drive-api - Google Drive Picker:使用 Feature.MINE_ONLY 和 Feature.SUPPORT_DRIVES
- php - ZF2如何在where子句中将值作为表达式传递
- javascript - Javascript如何从数组对象中分别获取值和键?
- angular - 如何在角度单元测试中传递模拟日期事件值
- apache-spark - 在 Spark 2.4.0 中使用 spark.sql 的 Hive 表锁定信息会引发错误
- winforms - Windows窗体设计模式通用解决方案
- sql - 选择子句中的子查询中的 Listagg 返回 null
- c# - 如何将表对象输出参数从 C# ASP.NET Core 传递到 Oracle 存储过程
- reactjs - 无法从特定事物中检索值
- c# - 如果我使用 dropdownlist.selectedindex,如何在表中存储实际项目名称?我正在使用 tinyint 表示性别