插件化开发与GUI开发
2019独角兽企业重金招聘Python工程师标准>>>
1.插件化开发思想
插件化开发是一种思想,考虑到程序功能的加载时机,用到的时候再加载;
插件化开发依赖的技术点有:
反射:判断对象是否存在某种功能;
动态导入:import;
多线程:使用线程完成对应的任务;
2.插件化开发的好处
- 插件能够程序的功能多样性,用到时在加载,程序启动加快;
3.importlib模块
# importlib.import_module(name, package=None): name为模块名称字符串,package当相对导入的时候,需要传递包名字符串
# other.py文件中写一个功能类class Student:def talk(self):print('I am talking !')
# 在app.py程序入口模块中加载other.py模块的功能import importlib
def get_plugin_obj(name: str):str_module, _, str_class = name.partition('|')module = importlib.import_module(str_module)cls = getattr(module, str_class)return cls()
if __name__ == '__main__':obj = get_plugin_obj('other|Student')obj.talk()
Python提供了importlib包作为标准库的一部分,目的就是提供Python中import语句的实现;
importlib
允许程序员创建他们自定义的对象,可用于引入过程;importlib
模块支持传入字符串来引入一个模块;
4.Tkinter可视化开发组件
# 这里给大家看一个简单的示例程序
import tkinter
window = tkinter.Tk()
window.title = 'Student window'
window.geometry('600x400')
obj = tkinter.Label(window, text='This is for Tkinter', bg='yellow', font=('Arial', 30), width=20, height=20)
obj.pack()
window.mainloop()
Tkinter
模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口,.Tk
和Tkinter
可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里;Tkinter 是 Python 的标准 GUI 库,Python 使用 Tkinter 可以快速的创建 GUI 应用程序;
因为Tkinter 是内置到 python 的安装包中,所以只要安装好 Python 之后就能直接使用import Tkinter;
参考:https://www.9xkd.com/user/plan-view.html?id=2434532965
转载于:https://my.oschina.net/u/4072026/blog/3040536
插件化开发与GUI开发相关推荐
- 【Android 插件化】Hook 插件化框架 ( 通过反射获取 “插件包“ 中的 Element[] dexElements )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- 【Android 修炼手册】常用技术篇 -- Android 插件化解析
预备知识 了解 android 基本开发 了解 android 四大组件基本原理 了解 ClassLoader 相关知识 看完本文可以达到什么程度 了解插件化常见的实现原理 阅读前准备工作 clone ...
- 360手机卫士插件化RePlugin今日开源,官方全面解读
作者:张炅轩,360手机卫士·客户端技术专家 写在前面 "RePlugin将在6月底开源,这将是我们献给安卓世界最好的礼物."当我们宣布这一消息时,心中的激动,无以言表.是的,三年 ...
- [Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化
以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章. [Android]如何做一个崩溃率少于千分之三噶应用app(1)-module工程架构 [Android]如何做一个崩溃 ...
- 多多客小程序发布全插件化1.0版,插件市场正式上线
多多客小程序作为青否原班人马打造的小程序第三方平台,结合5年商城系统.近2年小程序SaaS平台研发及运营经验,重点发力小程序个性化和各类营销玩法,联合服务商.开发者.经营专家,共建服务生态,服务百万商 ...
- 是时候来一波Android插件化了
是时候来一波Android插件化了 是时候来一波Android插件化了 前言 Android开发演进 模块化介绍 插件化介绍 前提技术介绍 APK构成 Manifest Application 四大组 ...
- GPT-4 插件和插件化的思考
一.前言 最近 ChatGPT 的 Plus 用户在 GPT-4 中新增了插件功能, GPT 在插件的加持下如虎添翼. 那么常用的插件是哪些?插件化是什么?插件化有什么好处?插件化和我们日常开发中哪些 ...
- TinyFrame升级之八:实现简易插件化开发
本章主要讲解如何为框架新增插件化开发功能. 在.net 4.0中,我们可以在Application开始之前,通过PreApplicationStartMethod方法加载所需要的任何东西.那么今天我们 ...
- Eclipse进行可视化的GUI开发3大GUI插件
Eclipse进行可视化的GUI开发3大GUI插件 转自http://www.cnblogs.com/NationWoo/archive/2011/05/31/2065176.html Eclipse ...
- 开发日记-20190422 关键词 插件化(1)概述
不知道什么时候,javaer这个名词已经成为了一个很通用的词汇,指代那些只知道使用新技术,在新技术出现之后静观其变,等其成熟之后,再用极短的时间学习其用法,然后宣布已经掌握这门新技术的程序员.所谓缺乏 ...
最新文章
- SPHINX 文档写作工具安装简要指南 - windows 版 - 基于python
- opengl加载显示3D模型lxo类型文件
- WAV文件格式终极解析
- shell脚本 回顾 小练习
- kafka安装使用说明
- c++学习 | Windows 程序设计
- 在IntelliJ IDEA中使用 JAVAFX 过程记录
- 静态代码自动扫描p3c的使用
- Spring Bean作用域
- Google开发者账号申请
- 2022大厂真题盘点!190道大数据高频面试题+答案详解
- itpt_TCPL 第四章:函数和程序结构
- 游戏开发程序员可能会遇到的英文单词
- 夜晚怎么能不吃宵夜呢
- 使用JavaReport制作Web报表与图形 入门示例
- 【spider】关于scrapy的安装的几个问题
- 根据邮箱地址怎么知道服务器,如何通过技术手段判断邮件地址来源
- 天秀,手机也可以写Python代码了,还支持Numpy,Pandas等库的安装!
- Widget是一切,Widget简介
- Android开发工程师 技能要求