KivyMD 窗口未显示应用程序的图标。在其他类似问题上尝试了所有其他方式

Posted

技术标签:

【中文标题】KivyMD 窗口未显示应用程序的图标。在其他类似问题上尝试了所有其他方式【英文标题】:KivyMD window is not showing the icon of the app. Tried every other way on other similar questions 【发布时间】:2021-11-04 07:21:24 【问题描述】:

显示默认 kivy 图标的左上角图标。 earlier image

.py 代码

class StonkkApp(MDApp):
    
    def build(self):
        self.icon = f'cur_file_path/stonkss.png'
        screen = Builder.load_file('layout.kv')
        self.theme_cls.theme_style = theme
        self.theme_cls.primary_palette = 'Gray'
        return screen

    
    def restart(self):
        self.root.clear_widgets()
        self.stop()
        return StonkkApp().run()

我有 stonkss.png 和 .py 文件在同一个文件中。

图像描述。 if this helps!?

好的,它改变了,但仍然不是我想要的图像:top-left

刚刚创建了一个小应用程序: 这样就完美运行了。

from kivy.config import Config
import os
from pathlib import Path

cur_file_path = os.path.dirname(os.path.abspath(__file__)).replace('\\','/')
Config.set('kivy', 'window_icon', f'cur_file_path/stonkss.ico')

from kivymd.app import MDApp
from kivymd.uix.label import MDLabel

class MainApp(MDApp):
    icon = f'cur_file_path/stonkss.ico'

    def build(self):
        return MDLabel(text="Hello, World", halign="center")

应用图片:enter image description here

【问题讨论】:

【参考方案1】:

这应该适合你

# add this at the top of your code
from kivy.config import Config

Config.set('kivy', 'window_icon', f'cur_file_path/stonkss.png')
# in your app class
class StonkkApp(MDApp):
    icon = f'cur_file_path/stonkss.png'

我建议使用 ico 作为图标而不是 png,因为在构建应用程序时 png 将不起作用

更新 你的代码应该是

from kivy.config import Config
cur_file_path = os.path.dirname(os.path.abspath(__file__)).replace('\\','/')
Config.set('kivy', 'window_icon', f'cur_file_path/stonkss.png')



from kivymd.app import MDApp
from kivymd.uix.label import MDLabel

import os
from pathlib import Path



class MainApp(MDApp):
    icon = f'cur_file_path/stonkss.png'

    def build(self):
        return MDLabel(text="Hello, World", halign="center")

【讨论】:

.ico 的任何特定尺寸? 我必须在所有导入之后放置 Config.set 吗?在应用程序的开头? 我在你的文件顶部甚至在导入上方说过

以上是关于KivyMD 窗口未显示应用程序的图标。在其他类似问题上尝试了所有其他方式的主要内容,如果未能解决你的问题,请参考以下文章

在多个 kivymd 窗口中更改背景

尝试在 MDTextField (KivyMD) 中访问后未显示用户文本

通知未显示 - 已设置 chennel 以及小图标、标题和文本

如何在 Kivy 或 KivyMD 中创建类似快照的按钮?

我在 Python/KivyMD 中制作了 MDDialog 但没有正确显示

kivymd:如何在下拉菜单中添加图标?