首页 Pyqt 系列

Pyqt 系列

举报
开通vip

Pyqt 系列Pyqt5系列(一)一Pyqt5的安装由于在实际的工作中需要使用到python来进行GUI的开发,基于python的GUI开发,只是去考虑具体使用依赖那个GUI库来进行开发。GUI库的选择:1、TKinter,python配备的标准gui库,但是功能比较弱,似乎只适合开发非常简单的界面。2、Wxpython,目前官方网站还没有release针对以上版本的库,虽然在国外的博客上有针对python3的版本。3、Pyqt,Pyqt基于QT,在GUI开发上可以参考QT的开发。对比了Tkinter,Wxpython,Pyqt...

Pyqt 系列
Pyqt5系列(一)一Pyqt5的安装由于在实际的工作中需要使用到python来进行GUI的开发,基于python的GUI开发,只是去考虑具体使用依赖那个GUI库来进行开发。GUI库的选择:1、TKinter,python配备的标准gui库,但是功能比较弱,似乎只适合开发非常简单的界面。2、Wxpython,目前官方网站还没有release针对以上版本的库,虽然在国外的博客上有针对python3的版本。3、Pyqt,Pyqt基于QT,在GUI开发上可以参考QT的开发。对比了Tkinter,Wxpython,Pyqt之后,选择使用Pyqt来进行GUI的开发,PyQt基于GPL许可开发。PyQt安装:整体安装的步骤比较简单,首先下载与自己python版本和开发环境一致的PyQt版本。1、开发环境:win732bit2、官网下载:官网上之后对应的sourcepackage。需要自己编译生成。3、OSDN下载:OSDN上罗列了所有released的PyQt安装程序,根据开发环境下载了PyQt5-5.2.1Note:1、下载PyQt时注意选择匹配的Python版本和系统的位数;2、直接通过exe文件安装PyQt,Pip安装的方式比较复杂;功能验证:安装之后简单写个测试程序验证一下[python]viewplaincopy在CODE上查看代码片派生到我的代码片#!/user/bin/python3#-*-coding:utf-8-*-'''''Creatasimplewindow'''__author__='TonyZhu'importsysfromimportQWidget,QApplicationif__name__=='__main__':app=QApplicationw=QWidget()()("HelloPyQt5")())运行之后会直接显示一个标题为“HelloPyQt5”的空白窗口。二第一个PyQt程序通过下面的一个PyQt5简单例子,来简单了解一下关于如何创建PyQt5的。具体代码如下:#-*-coding:utf-8-*-'''FristPyQt5program'''__author__='TonyZhu'fromimportQApplication,QWidget,QLabel,QHBoxLayout,QPushButton,QLineEdit,QVBoxLayout,QMessageBoximportsysclassShowWindow(QWidget):def__init__(self):super(ShowWindow,self).__init__()()definitUI(self):=QLabel("Inputyourtext")=QLineEdit()=QPushButton("Print")=QPushButton("Clear")inputLayout=QHBoxLayout()buttonLayout=QHBoxLayout()mainLayout=QVBoxLayout()(inputLayout)(buttonLayout)(mainLayout)('FristWindow')()defprintText(self):iftext=='':(self,"EmptyText","Pleaseentertheletter.")else:(self,"PrintSuccess","Text:%s"%text)defclearText(self):iftext=='':returnelse:if__name__=='__main__':app=QApplicationex=ShowWindow()())运行的结果:程序运行后的结果结合代码和运行的结果,分析代码:Line7~8:fromimportQApplication,QWidget,QLabel,QHBoxLayout,QPushButton,QLineEdit,QVBoxLayout,QMessageBoximportsys导入了程序运行所必须的模块Line10:classShowWindow(QWidget):创建一个ShowWindow类继承QWidget,其中PyQt中非常重要的通用窗口类,是所有用户界面对象的基类,所有和用户界面相关的控件类都是继承自QWidger类。Line12~14:def__init__(self):super(ShowWindow,self).__init__()()定义了ShowWindow类的构造函数init,由于ShowWindow继承自QWidgert类,因此在构造函数中调用父类QWidget的构造函数()。同时在构造函数中调用自定义的初始化函数initUI(),在该函数中初始化GUI中所需各个控件。Line17~20:=QLabel("Inputyourtext")=QLineEdit()=QPushButton("Print")=QPushButton("Clear")创建成员:一个标签(inputLabel),输入框(editLine),两个按钮(printButton,clearButton)Line22~23:1printButton和clearButton点击事件处理的逻辑:点击printButton之后会调用自定义函数printText()中的处理逻辑;点击clearButton之后调用自定义函数clearText()中的处理逻辑。通过connect()方法将点击事件和处理逻辑关联起来这个涉及到PyQt信号与槽的概念,信号和槽用于对象之间的通信。当指定事件发生,一个事件信号会被发射。槽可以被任何Python脚本调用。当和槽连接的信号被发射时,槽会被调用。有关信号与槽的概念,在后续的文章中会专门讲解。Line25~26:inputLayout=QHBoxLayout()创建一个inputLayout的水平布局(QHBoxLayout),在inputLayout中添加已定义的控件inputLabel和editLine。QHBoxLayout让添加的控件水平排布Line29~31:buttonLayout=QHBoxLayout()同上创建一个buttonLayout的水平布局(QHBoxLayout),在buttonLayout中添加printButton和clearButtonLine33~35:mainLayout=QVBoxLayout()(inputLayout)(buttonLayout)创建一个mainLayout的垂直布局(QVBoxLayout),在mainLayout中嵌套子布局inputLayout和buttonLayout。通过如下的布局图,进一步了解一下该程序中layout是如何布局的。有layout的概念,在后续的文章中会专门讲解。Line37:(mainLayout)通过将setLayout()方法,将mainLayout设置为窗口layout。Line38:('FristWindow')通过setWindowTitle()方法设置窗口的标题Line39:()通过show()方法将窗口显示到屏幕上Line40~48:defprintText(self):iftext=='':(self,"EmptyText","Pleaseentertheletter.")else:(self,"PrintSuccess","Text:%s"%text)定义了处理printButton点击信号的槽函数,当editLine输入框中的文本为空的时候弹出消息框(QMessageBox),提示“Pleaseentertheletter.”;当editLine输入框中的文本不为空时候弹出消息框,显示editLine中的文本。触发槽函数printText()之后,当editLine输入框内容为空时界面显示如下:Line49~55:defclearText(self):iftext=='':returnelse:定义了处理clearButton点击信号的槽函数,清空editLine输入框中的文本信息。Line57~60:if__name__=='__main__':app=QApplicationex=ShowWindow()())程序运行的入口函数类似C语言中的main()方法。app=QApplication,每一个pyqt程序必须创建一个application对象,是命令行参数,可以通过命令启动的时候传递参数。ex=ShowWindow(),创建ShowWindow对象。()),()事件处理开始,进入程序主循环。主循环等待时间,并把事件发送给指定处理的任务中。当调用()或者程序因为各种原因被破坏后,使用()关闭程序,并释放内存资源。到此为止,第一个PyQt程序分析结束,可能会存在输入框,布局,等各类控件如何使用,如何确定对应的控件在那个模块中在后续的文章中会详细进行介绍。三基本界面组件之Button抽象类QAbstractButton:QAbstractButton作为抽象类,提供button的通用功能,可按按钮(pushbutton)和可选择按钮(checkablebutton)。可选择按钮实现有QRadioButton和QCheckBox;可按按钮实现有QPushButton和QToolButton。任何一种button可以显示带文本(.setText()方法设置文本)和图标(.setIcon()设置图标)的标签。QAbstractButton提供的状态:1、isDown()提示button是否按下2、isChecked()提示button是否已经标记3、isEnable()提示button是否可以被用户点击4、isCheckAble()提示button是否为可标记5、setAutoRepeat()设置button是否在用户长按按钮的时候可以自动重复执行。QAbstractButton提供的信号:1、pressed(),当鼠标在button上并点击左键的时候触发信号2、released(),当鼠标左键被释放的时候触发信号3、clicked(),当鼠标首次按下,然后释放,或者快捷键被释放的时候触发信号4、toggled(),当button的标记状态发生改变的时候触发信号接下来会针对每一种button进行介绍:QPushButton:classQPushButton(QAbstractButton)|QPushButton(QWidgetparent=None)|QPushButton(str,QWidgetparent=None)|QPushButton(QIcon,str,QWidgetparent=None)由此可见QPushButton继承自QAbstractButton,是一种command按钮。点击执行一些命令,或者响应一些问题。常见的诸如“确认”,“申请”,“取消”,“关闭”,“是”,“否”等按钮。CommandButton经常通过文本来描述执行的动作。有时候我们也会通过快捷键来执行对应按钮的命令。通过一个示例对QPushButton来进行说明:#-*-coding:utf-8-*-'''PushButton'''__author__='TonyZhu'fromimportQApplication,QWidget,QPushButtonfromimportQIconfromimportQtimportsysclassPushButton(QWidget):def__init__(self):super(PushButton,self).__init__()()definitUI(self):("PushButton")(400,400,300,260)=QPushButton(self)if__name__=='__main__':app=QApplicationex=PushButton()()())运行之后的效果:控件说明:示例说明:名称为“Close”的Buttton,点击该Button之后关闭该窗口。或者通过快捷键“Ctrl+C”的快捷方式亦可关闭该窗口。代码分析:其他代码部分可以参考上一篇《Pyqt5系列(二)-第一个PyQt程序》中的说明。L21~22:setText()方法,设定button的文本setIcon()方法,设定button的图标关于button文本和图标的显示,也可以通过QPushButton的构造函数,在创建对象实例的时候通过参数直接设定。|QPushButton(str,QWidgetparent=None)|QPushButton(QIcon,str,QWidgetparent=None)L23:给closeButton设定快捷键方式,即通过Ctrl+D实现与点击closeButton一样的功能。L24:closeButton点击事件处理的逻辑:在点击closeButton之后调用QWidget的close()方法。通过connect()方法将点击事件和处理逻辑关联起来。L25:setToolTip()设定提示信息,当鼠标移动到button上时显示”Closethewidget”提示信息。QToolButton:classQToolButton(QAbstractButton)|QToolButton(QWidgetparent=None)同理QToolButton继承自QAbstractButton。QToolButton就是工具操作相关的按钮,通常和QToolBar搭配使用。QToolButton通常不显示文本,而显示图标QIcon。一般QToolButton会在QToolBar::addAction时创建,或者已经存在的action添加到QToolBar时创建。通过一个示例对QToolButton来进行说明:#-*-coding:utf-8-*-'''ToolButton'''__author__='TonyZhu'fromimportQApplication,QWidget,QToolButton,QMainWindowfromimportQIconfromimportQtimportsysclassToolButton(QMainWindow):def__init__(self):super(ToolButton,self).__init__()()definitUI(self):("ToolButton")(400,400,300,260)=("toolBar")()=QToolButton()#""))defshowDetail(self):if().showMessage("ShowDetail....")else:().showMessage("CloseDetail....")if__name__=='__main__':app=QApplicationex=ToolButton()()())运行之后的效果:控件说明:示例说明:图标为“右箭头图标”的Buttton,此按钮有开关之分。当Button打开之后在消息栏显示“ShowDetail….”,反之显示“CloseDetail”。代码分析:其他代码部分可以参考上一篇《Pyqt5系列(二)-第一个PyQt程序》中的说明。L24~25:setCheckable()方法,“True”设置该button为可选属性,及存在“开”和“关”两种状态。setChecked()方法,设置button的状态为为选中的状态。L26:方法,设定button上显示的箭头类型arrowType,箭头属性,按钮是否显示一个arrow代替正常的icon01234L29:,设定button文本和图标显示的样式。程序中的参数为只显示icon不显示文本()参数类型如下:0Onlydisplaytheicon.1Onlydisplaythetext.2Thetextappearsbesidetheicon.3Thetextappearsundertheicon.4如果在实际的使用过程中,需要同时显示自定义的icon和文本的时候,可以按照如下参数设置:""))对于QPushButton和QToolButton,如上的例子中只是涉及到部分常用的方法,所以对于详细的说明可以通过如下途径:在命令行中通过help()方法:如help(QPushButton)QRadioButton:classQRadioButton(QAbstractButton)|QRadioButton(QWidgetparent=None)|QRadioButton(str,QWidgetparent=None)由此可见QRadioButton继承自QAbstractButton。单选按钮提供一个按钮和一个label,label用于显示对应的文本信息。单选按钮是一种开关按钮,可以切换为on或者off即checked或者unchecked。主要用途用于提供给用户‘oneofmany’选择。如果用户选择另外一个单选按钮,则之前的就被反选了。RaidoButton默认是autoExclusive。对于继承自同一个父类Wdiget的单选按钮,他们属于同一个exclusive按钮组合。如果需要多个exclusive按钮组合的时候,需要将他们放在QButtonGroup。当单选按钮切换到on或者off的时候,就会发送toggled()的信号。绑定这个信号,在按钮状态发生改变的时候,触发相应的行为。通过一个示例对QPushButton来进行说明:#-*-coding:utf-8-*-'''ToolButton'''__author__='TonyZhu'fromimportQApplication,QWidget,QRadioButton,QStyleFactory,QVBoxLayoutimportsysclassRadioButton(QWidget):def__init__(self):super(RadioButton,self).__init__()()definitUI(self):("RadioButton")(400,400,300,260)=QRadioButton("WindowsXP")=QRadioButton("WindowsVista")=QRadioButton("Windows")layout=QVBoxLayout()(1)(layout)("Windows")defchangeStyle(self,styleName):(styleName))if__name__=='__main__':app=QApplicationex=RadioButton()()())示例说明:通过选择单选框按钮,来切换不同的window界面风格,XP,Vista,Windows风格代码分析:其他代码部分可以参考上一篇《Pyqt5系列(二)-第一个PyQt程序》中的说明。L19~24:=QRadioButton("WindowsXP")=QRadioButton("WindowsVista")=QRadioButton("Windows")创建_xpButton,_vistaButton,_windowsButton三个单选框按钮,然后将切换开关发射的toggle信号和自定义槽函数changeStyle()绑定在一起。在绑定槽函数的时候,由于要传递参数,因此通过lambada来重新定义一个函数,此函数中传入了所需的参数。L33:初始化设定_xpButton为选中状态。L36~37:defchangeStyle(self,styleName):(QStyleFactory.通过()可以获取到支持的style:[‘Windows’,‘WindowsXP’,‘WindowsVista’,‘Fusion’]()方法来设定界面显示的风格,这样可以根据自己的喜好来设定。QCheckBox:classQCheckBox(QAbstractButton)|QCheckBox(QWidgetparent=None)|QCheckBox(str,QWidgetparent=None)由此可见QCheckBox继承自QAbstractButton。同QRadioButton,QCheckBox也是一个开关按钮,可切换状态on或者off,即checked或者unchecked。一般,此复选框可以enable或者disable但不影响其他复选按钮。但是如果此放置到一个互斥的QButtonGroup里面,则只能选一个复选框。这是有互斥选项的QButtonGroup所限定的属性。当checkbox复选框是checked标记或者清楚,都会触发stateChangeed信号。可以使用isChecked()去查询复选框按钮是否标记。除了常用的选中与没选中状态,QCheckBox提供第三种状态即“没有改变”状态。如果使用此状态,设置其属性setTristate(),然后用checkState()去查询当前标记切换的状态。通过一个示例对QCheckBox来进行说明:#-*-coding:utf-8-*-'''CheckBox'''__author__='TonyZhu'fromimportQApplication,QWidget,QCheckBox,QGroupBox,QStyleFactory,QVBoxLayout,QTextBrowserimportsysfromimportQtfromimportQFontclassCheckBox(QWidget):def__init__(self):super(CheckBox,self).__init__()()definitUI(self):("CheckBox")(400,400,300,260)groupBox=QGroupBox("Non-ExclusiveCheckboxes")(True)=QCheckBox("&Checkbox1")=QCheckBox("C&heckbox2")=QCheckBox("Tri-&statebutton")vbox=QVBoxLayout()(1)(vbox)=QTextBrowser()mainLayout=QVBoxLayout()(groupBox)(mainLayout)defchangeCheckBoxStatus(self):defgetCheckBoxStatus(self):returnstatusif__name__=='__main__':app=QApplicationex=CheckBox()()())示例说明:通过复选按钮的选择,在textBrowser中显示当前各个控件的名称和状态。代码分析:其他代码部分可以参考上一篇《Pyqt5系列(二)-第一个PyQt程序》中的说明。L24~26:=QCheckBox("&Checkbox1")=QCheckBox("C&heckbox2")实例化checkBox1和checkBox2两个对象,并将checkBox2的状态设定为选中状态。设定快捷键的另外一种方式,使用“&”符号,如“&Checkbox1”,则通过Alt+“c”可以完成鼠标点击对应的行为。L27~29:=QCheckBox("Tri-&statebutton")实例化tristateBox对象;setTristate(),设定tristateBox对象是否为三个状态。”True”,设定为三个状态。setCheckState(),设定checkBox的状态,具体状态如下:0Theitemisunchecked.1Theitemispartiallychecked.Itemsinhierarchicalmodelsmaybepartiallycheckedifsome,butnotall,oftheirchildrenarechecked.2Theitemischecked.L31~33:stateChanged(),QCheckBox状态改变时的信号。在信号发生改变的时候触发自定义的函数changeCheckBoxStatus()四基本界面组件之DialogQFileDialogclassQFileDialog(QDialog)|QFileDialog(QWidget,|QFileDialog(QWidgetparent=None,strcaption='',strdirectory='',strfilter='QFileDialog继承自QDialog。QFileDialog是PyQt中用于文件打开和保存的标准对话框。通过如下的示例进行说明:#-*-coding:utf-8-*-'''QFileDialog'''__author__='TonyZhu'fromimportQApplication,QDialog,QWidget,QFileDialog,QPushButton,QLineEdit,QGridLayoutimportsysimportosclassFileDialog(QDialog):def__init__(self):super(FileDialog,self).__init__()()definitUI(self):("QFileDialog")(400,400,300,260)=QPushButton("文件对话框")=QLineEdit()=QGridLayout()defopenFile(self,filePath):path=(self,"OpenFileDialog",filePath,"Pythonfiles(*.py);;Textfiles(*.txt)")else:path=(self,"OpenFileDialog","/","Pythonfiles(*.py);;Textfiles(*.txt)")if__name__=='__main__':app=QApplicationex=FileDialog()()())示例说明:通过文件对话框来选择所需的文件(默认为当前路径,或者QLineEdit指定的路径),并且将打开的文件路径显示在QLineEdit中。代码分析:L21~23:=QPushButton("文件对话框").()))创建QPushButton和QLineEdit实例,并且绑定fileButton的clicked信号与自定义的槽函数openFile().L25~27:=QGridLayout()创建网格布局,将定义的fileButton和fileLineEdit添加到布局中L31~37:defopenFile(self,filePath):path=(self,"OpenFileDialog",filePath,"Pythonfiles(*.py);;Textfiles(*.txt)")else:path=(self,"OpenFileDialog","/","Pythonfiles(*.py);;Textfiles(*.txt)")自定义的槽函数,用来通过QFileDialog来打开对应目录的文件。“/”路径的目录,及当前程序执行路径的根目录。由于QFileDialog类有很多方法均为静态方法,因此在没有实例化对象的情况下,直接通过类名操作静态方法,其中getOpenFileName()就为静态方法。||getOpenFileName(...)|(QWidgetparent=None,strcaption='',strdirectory='',strfilter='',strinitialFilter='',options=0)->(str,str)第1个参数parent,用于指定父组件;第2个参数caption,是QFileDialog对话框的标题;第3个参数directory,是对话框显示时默认打开的目录,”.”代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 程序运行目录,”/”代表当前盘符的根目录(Windows,Linux下/就是根目录了),需要注意不同平台下路径的显示方式,比如Windows平台的C盘”C:\”等第4个参数filter,是对话框中文件后缀名过滤器。比如我们使用”Pythonfiles(.py)”就让它只能显示后缀名是.py的文件。如果需要使用多个过滤器,使用”;;”分割,比如”Pythonfiles(.py);;Textfiles(.txt)”,为两个过滤器分别过滤python文件和txt文件;第5个参数initialFilter,为默认的过滤器;第6个参数options,是对话框的一些参数设定,比如只显示文件夹等等,它的取值是,每个选项可以使用|运算组合起来。QColorDialogclassQColorDialog(QDialog)|QColorDialog(QWidgetparent=None)|QColorDialog(QColor,QWidgetparent=None)QColorDialog依旧继承自QDialog。QColorDialog是PyQt中用于颜色原则的标准对话框。通过如下的示例进行说明:#-*-coding:utf-8-*-'''QColorDialog'''__author__='TonyZhu'fromimportQApplication,QDialog,QWidget,QColorDialog,QPushButton,QGridLayout,QFramefromimportQPalette,QColorimportsysfromimportQtclassColorDialog(QDialog):def__init__(self):super(ColorDialog,self).__init__()()definitUI(self):("ColorDialog")(400,400,300,260)=QPushButton("颜色对话框")=QFrame()=QGridLayout()defopenColor(self):color=,None,"SelecttingColor")if():if__name__=='__main__':app=QApplicationex=ColorDialog()()())示例说明:通过颜色对话框选择所需要的颜色,并将最终选择的颜色显示在调色盘中。代码分析:L22~26:=QPushButton("颜色对话框")=QFrame()实例化colorButton和colorFrame对象,其中绑定colorButton的clicked信号与自定义的槽函数openColor().在colorFrame中通过setPalette()方法添加调色盘,最终将选择的颜色显示在调色盘中。setFrameShape()设定frame的形状setAutoFillBackground()设定frame自动填充背景色L28~30:将colorButton和colorFrame添加到网格布局的对应位置L34~37:defopenColor(self):color=,None,"SelecttingColor")if():自定义选择颜色的方法,()打开颜色选择对话框,并且将选择的颜色设置到colorFrame的调色盘部件中。由于QColorDialog类有很多方法均为静态方法,因此在没有实例化对象的情况下,直接通过类名操作静态方法,其中getColor()就为静态方法。|getColor(...)|(QColorinitial=,QWidgetparent=None,strtitle=QString(),options=0)->QColor|第1个参数initial,用于指定默认的颜色,函数默认为;第2个参数parent,用于指定父组件;第3个参数title,是QColorDialog对话框的标题;第4个参数options,是对话框的一些参数设定,比如是否显示Alpha值等等,每个选项可以使用|运算组合起来。具体可以查看API函数的说明。QColorDialog操作相对简单一些,具体的API的一些使用可以参考一下官网的说明。在大部分的操作系统中,为了更好的实现人机交互,windows以及linux中均为提供一系列的对话框来完成特定场景下的功能,诸如字体大小选择,字体颜色选择等等。PyQt5中定义了一些列的标准对话框的类,让使用者能够方便和快捷的通过各个类完成字体大小、颜色,以及文件的选择.QFontDialog#-*-coding:utf-8-*-'''QFontDialog'''__author__='TonyZhu'fromimportQApplication,QDialog,QWidget,QFontDialog,QPushButton,QLineEdit,QGridLayoutimportsysimportosclassFontDialog(QDialog):def__init__(self):super(FontDialog,self).__init__()()definitUI(self):("QFontDialog")(400,400,300,260)=QPushButton("字体选择对话框")=QLineEdit("HelloPython")=QGridLayout()defopenFont(self):font,ok=()ifok:if__name__=='__main__':app=QApplicationex=FontDialog()()())示例说明:通过字体选择对话框选择对应的字体,并且选择的字体效果设定在QLineEdit中显示的文本上。代码分析:L21~23:=QPushButton("字体选择对话框")=QLineEdit("HelloPython")实例化fontButton和fontLineEdit对象,并将fontButton的clicked信号和槽函数openFont()绑定在一起。L25~27:=QGridLayout()实例化网格布局,并将fontButton和fontLineEdit按照对应的位置添加到网格布局中。L31~34:defopenFont(self):font,ok=()ifok:自定义的槽函数,选择所需的字体,并将字体的效果设定到fontLineEdit中。getFont()方法返回的为元组类型,同时返回选择的字体和函数执行的状态。|getFont(...)|(QFont,QWidgetparent=None,strcaption=QString(),options=0)->(QFont,bool)|(QWidgetparent=None)->(QFont,bool)getFont()方法有两个重载的实现,对应如上所需的参数不同,在上面的示例中,我们采用的是第二个实现。(QFont,QWidgetparent=None,strcaption=QString(),options=0)->(QFont,bool)第1个参数parent,用于指定父组件;第2个参数caption,是QFileDialog对话框的标题;第3个参数options,是对话框的一些参数设定,它的取值是,每个选项可以使用|运算组合起来。返回值为(QFont,bool),即返回值类型为tuple(元组)。
本文档为【Pyqt 系列】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥18.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:0
分类:企业经营
上传时间:2021-08-12
浏览量:9