目录
- 介绍
- 项目演示
- 代码示例
介绍
由于开了新的项目,需要制作适合一次开发多端多环境运行的桌面端项目,找了大部分的项目,目前主推的框架主要有:kivy、wxpython、electron等可以快速开发的,由于项目预测体积不会太大,所以暂时不考虑PyQt啦,多了不少,少了不唠,直接进入主题。
项目演示
kivy登陆跳转视频
代码示例
由于项目需要多界面跳转,所以所有界面都要交给ScreenManager进行管理
-
项目结构
-kivy-build 项目名称
–image 背景图片和图标存放处
—icon 图标存放
–view 界面视图主要文件夹
—home 首页界面
—login 登陆界面
—tools 工具类存放处
–MainApp.py 项目的入口
–package.py 打包类 -
项目入口:MainApp.py
from kivy.core.window import Windowfrom kivy.app import App from kivy.uix.screenmanager import ScreenManagerfrom view.home.HomeScreen import HomeScreen from view.login.LoginScreen import LoginScreenclass MainApp(App):def __init__(self):super().__init__()self.sm = Nonedef build(self):# 设置窗口大小为800*600Window.size = (800, 600)# 窗口居中Window.pos_hint = {'center_x': 0.5, 'center_y': 0.5}# 在主布局中self.sm = ScreenManager()# 注册登陆界面组件self.sm.add_widget(LoginScreen(name='login'))# 注册首页界面组件self.sm.add_widget(HomeScreen(name='home'))return self.smif __name__ == '__main__':MainApp().run()
-
登陆界面: view.login.LoginScreen.py
import randomfrom view.tools import Tools from kivy.metrics import dp from kivy.uix.boxlayout import BoxLayout from kivy.uix.button import Button from kivy.uix.image import Image from kivy.uix.popup import Popup from kivy.uix.screenmanager import Screen from kivy.uix.textinput import TextInputclass LoginScreen(Screen):def __init__(self, **kwargs):super(LoginScreen, self).__init__(**kwargs)# 关闭按钮self.close_button = None# 最小化按钮self.minimize_button = Noneself.password = Noneself.username = Noneself.background_image = Image(source='image/login_background.jpg', # 替换为你的图片路径size_hint=(1, 1), # 让图片占满整个屏幕allow_stretch=True, # 允许图片拉伸以适应屏幕keep_ratio=False # 不保持图片比例)