【发布时间】:2021-11-10 12:04:07
【问题描述】:
我在使用 android 的简单通知测试应用时遇到了一个奇怪的错误。
错误:
python : AttributeError: type object 'notification.org.notificator.R$drawable' has no attribute 'icon'
python 文件:
import kivy
from kivymd.app import MDApp
from kivymd.uix.screen import MDScreen
from kivy.lang import Builder
from plyer import notification
from kivy.uix.screenmanager import ScreenManager
class NotificationScreen(MDScreen):
def do_notify(self, mode='fancy'):
title = self.ids.notification_title.text
message = self.ids.notification_text.text
ticker = self.ids.ticker_text.text
app_ico = 'Images/icon.png'
notification.notify(app_icon=app_ico, title=title, message=message, ticker=ticker, timeout=10)
#notification.notify(app_icon='Images/icon.ico', title=title, message=message, ticker=ticker, timeout=10)
#notification.notify(title=title, message=message, ticker=ticker, timeout=10)
class ScreenManagement(ScreenManager):
pass
view = Builder.load_file('main.kv')
class NotificationDemoApp(MDApp):
def build(self):
return view
if __name__ == '__main__':
NotificationDemoApp().run()
KV 文件:
ScreenManagement:
id: scrm
NotificationScreen:
scrm: scrm
<NotificationScreen>:
notification_title: notification_title
notification_text: notification_text
ticker_text: ticker_text
MDBoxLayout:
orientation: 'vertical'
md_bg_color: 0, 0, 0, 1
MDBoxLayout:
orientation: 'horizontal'
size_hint: 1, None
md_bg_color: 1, 1, 1, 1
TextInput:
id: notification_title
text: 'Put title here'
size_hint: 1, None
TextInput:
id: notification_text
text: 'Put message here'
size_hint: 1, None
TextInput:
id: ticker_text
text: 'New notification'
size_hint: 1, None
Button:
text: 'Toast Notification'
size_hint: 1, None
on_release: root.do_notify(mode='toast')
Button:
text: 'Simple Notification'
size_hint: 1, None
on_release: root.do_notify(mode='normal')
Button:
text: 'Fancy Notification'
size_hint: 1, None
on_release: root.do_notify(mode='fancy')
buildozer 的基本未注释行:
[app]
title = Notification Example
package.name = notificator
package.domain = notification.org
source.dir = .
requirements = python3,kivy==2.0.0rc4,requests,kivymd,pillow,urllib3,charset_normalizer,idna,plyer
icon.filename = %(source.dir)s/icon.png
我尝试将图标更改为 .ico (两者都在 Images 目录中),但仍然是同样的问题。还尝试从 notify() 函数中删除 app_icon arg,但仍然是同样的问题。还尝试将图标放入根目录和同样的问题。
拜托,我一直在寻找答案,但没有在网上找到任何有用的东西。任何提示或解决方案?谢谢
【问题讨论】: