(二)将Python和kivy倔强到Window和Android课程设计项目之音乐下载器GUI(项目展示版)

由于网上只讲述原理的文章太多,怎么使用的文章太少,所以本人文章只负责展示效果及代码注释,不着重讲解原理

将Python和kivy倔强到Window和Android课程设计项目之音乐下载器GUI


一、建立根窗口

本文利用kivy库建立的根窗口代码如下:

from kivy.app import App
from kivy.core.window import Window

class ZL_Love音乐(App):
    def build(self):
        ##设置窗口底色##
        Window.clearcolor = get_color_from_hex('#66CDAA')
        return 
        
if __name__ == '__main__':
    ZL_Love音乐().run()

二、添加布局管理器

布局管理器的作用在于可以将下载器所需要的控件添加至窗口上并方便使用。代码如下:

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.stacklayout import StackLayout

class 搜索显示页(StackLayout):
    def __init__(self,color_hex,**kwargs):
        super().__init__(**kwargs)
class ZL_Love音乐(App):
    def build(self):
        ##设置窗口底色##
        Window.clearcolor = get_color_from_hex('#66CDAA')
        return 搜索显示页()
        
if __name__ == '__main__':
    ZL_Love音乐().run()

三、添加控件

现在向布局管理器中添加控件:音乐下载器的显示框以控件及按钮控件,并设置音乐下载器的底层颜色及窗口名称。利用update_rect()的方式设置底层颜色及控件大小的好处在于:无论如何拖拽主窗口,所有控件都将跟随主窗口的变化而变化,也可适应不同手机的屏幕。代码如下所示:

##载入计算器项目需要的自定义库
from Headerfile import *

class 搜索显示页(StackLayout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        ##设置控件间隔
        self.spacing = 10
        ##设置字体大小
        self.标题大小 = 50
        ##添加标头##
        self.add_widget(NameDataOnlyView('#66CDAA','ZL.Love音乐下载器',self.标题大小,1))
        ##搜索控件##
        self.搜素控件 = TextInputButtons('#66CDAA','#F5F5DC',self.标题大小,self.搜索函数,'搜索',0.8,padding = [10,0,10,0],spacing = 10)
        self.add_widget(self.搜素控件)    
        ##搜素结果标头##
        self.add_widget(MusicListname('#66CDAA',self.标题大小,'搜素结果'))
        ##绑定窗口大小函数##
        self.bind(pos = self.update_rect,size = self.update_rect)
        ##添加显示歌曲控件##
        self.歌曲列表显示控件 = ListDataOnlyView('#FFFFFF',1)
        self.add_widget(self.歌曲列表显示控件)
        
    def update_rect(self,*args):
        ##计算除歌曲列表显示控件外其他控件所占比例
        self.剩余百分比 = 1-(self.标题大小*4+10)/Window.size[1]
        self.歌曲列表显示控件.size_hint = [1,self.剩余百分比]

    def 搜索函数(self,args):
        print(self.搜素控件.数据输入.text)
    
class ZL_Love音乐(App):
    def build(self):
        self.icon = '图标.png'
        ##设置窗口底色##
        Window.clearcolor = get_color_from_hex('#66CDAA')

        return 搜索显示页()

if __name__ == '__main__':
    ##先判断保存路径是否存在##
    保存路径 = '/sdcard/Android/data/ZL.Love/音乐/'
    try:
        ##若路径不存在,则建立##
        if Path(保存路径).is_dir() == False:
            os.makedirs(Path(保存路径))
    except:
        if Path(保存路径).is_dir() == False:
            os.makedirs(Path(保存路径))
    ##运行窗口##
    ZL_Love音乐().run()

窗口样式如下所示:
在这里插入图片描述


总结

本文利用python和kivy以纯python的形式实现了音乐下载器的GUI窗口,该下载器的其他功能会在后续项目中逐步展示。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆熊的世界

原创不复制精细无废料,谢谢赞赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值