Qt图形编程课件

上传人:阳*** 文档编号:110839339 上传时间:2022-06-19 格式:PPT 页数:59 大小:979KB
收藏 版权申诉 举报 下载
Qt图形编程课件_第1页
第1页 / 共59页
Qt图形编程课件_第2页
第2页 / 共59页
Qt图形编程课件_第3页
第3页 / 共59页
资源描述:

《Qt图形编程课件》由会员分享,可在线阅读,更多相关《Qt图形编程课件(59页珍藏版)》请在装配图网上搜索。

1、嵌入式应用程序设计嵌入式应用程序设计第7章 Qt图形编程 Qt图形编程2 第1章 搭建嵌入式Linux开发环境第2章 嵌入式文件I/O编程第3章 嵌入式Linux多任务编程第4章 嵌入式Linux进程间通行第5章 嵌入式Linux多线程编程第6章 嵌入式Linux网络编程第第7章章 Qt图形编程图形编程第8章 嵌入式Linux设备驱动编程第9章 Qt聊天项目设计课程安排课程安排: Qt图形编程3 7.1 嵌入式GUI简介7.2 Qt/Embedded开发入门7.3 实验内容7.4 小结7.5 思考与练习本章课程:本章课程: Qt图形编程4 目前的桌面机操作系统大多有着美观、操作方便、功能齐全的

2、GUI(图形用户界面),例如KDE或者GNOME。GUI(图形用户界面)是指计算机与其使用者之间的对话接口,可以说,GUI是当今计算机技术的重大成就。它的存在为使用者提供了友好便利的界面,并大大地方便了非专业用户的使用,使得人们从繁琐的命令中解脱出来,可以通过窗口、菜单方便地进行操作。在嵌入式系统中,GUI的地位也越来越重要,但是不同于桌面机系统,嵌入式GUI要求简单、直观、可靠、占用资源小且反应快速,以适应系统硬件资源有限的条件。另外,由于嵌入式系统硬件本身的特殊性,嵌入式GUI应具备高度可移植性与可裁减性,以适应不同的硬件条件和使用需求。 7.1 嵌入式GUI简介 Qt图形编程5 嵌入式G

3、UI特点体积小;运行时耗用系统资源小;上层接口与硬件无关,高度可移植;高可靠性;在某些应用场合应具备实时性。7.1 嵌入式GUI简介 Qt图形编程6 7.1.1 Qt/EmbeddedQt/Embedded是Trolltech公司(目前已被Nokia收购)为嵌入式系统开发的Qt版本。从Qt 4.1版本开始,Qt/Embedded改名为Qtopia Core,又从Qt 4.4.1版本开始,Qtopia Core又改名为Qt for Embedded Linux.7.1 嵌入式GUI简介 Qt图形编程7 7.1.1 Qt/EmbeddedQt/Embedded的优缺点:7.1 嵌入式GUI简介 Q

4、t图形编程8 7.1.2 MiniGUIMniGUI由魏永明先生和众多志愿者开发,是面向实时嵌入式系统的轻量级图形用户界面支持系统。自1999年初遵循GPL条款发布第一个版本以来,MiniGUI已广泛应用于手持信息终端、机顶盒、工业控制系统及工业仪表、便携式多媒体播放器、查询终端等产品和领域。目前,MiniGUI已成为跨操作系统、跨硬件平台的图形用户界面支持系统,可在Linux/uClinux、VxWorks、eCos、uC/OS-II、pSOS、ThreadX、Nucleus、OSE等操作系统以及Win32平台上运行,已验证的硬件平台包括ix86、ARM、PowerPC、MIPS、Drago

5、nBall、ColdFire等等。MiniGUI V2.0为基于嵌入式Linux的高端嵌入式设备提供了完整的多进程支持,从而将MiniGUI从中端市场带到了高端市场。最新的MiniGUI V3.0则是继2.0之后的一个重要增强,增加了如外观渲染器技术、双向文本支持、透明控件、独立滚动条控件、UPF字体和位图字体等新的特性。7.1 嵌入式GUI简介 Qt图形编程9 7.1.2 Microwindow、Tiny X等它由魏永明先生和众多志愿者开发,是面向实时嵌入式系统的轻量级图形用户界面支持系统。自1999年初遵循GPL条款发布第一个版本以来,MiniGUI已广泛应用于手持信息终端、机顶盒、工业控

6、制系统及工业仪表、便携式多媒体播放器、查询终端等产品和领域。目前,MiniGUI已成为跨操作系统、跨硬件平台的图形用户界面支持系统,可在Linux/uClinux、VxWorks、eCos、uC/OS-II、pSOS、ThreadX、Nucleus、OSE等操作系统以及Win32平台上运行,已验证的硬件平台包括ix86、ARM、PowerPC、MIPS、DragonBall、ColdFire等等。MiniGUI V2.0为基于嵌入式Linux的高端嵌入式设备提供了完整的多进程支持,从而将MiniGUI从中端市场带到了高端市场。最新的MiniGUI V3.0则是继2.0之后的一个重要增强,增加了

7、如外观渲染器技术、双向文本支持、透明控件、独立滚动条控件、UPF字体和位图字体等新的特性。7.1 嵌入式GUI简介 Qt图形编程10 7.1.3 Microwindow、Tiny X等Microwindows Open Source Project成立的宗旨在于针对体积小的装置,建立一套先进的视窗环境,在Linux桌面上通过交叉编译可以很容易地制作出Microwindows的程序。Microwindows能够在没有任何操作系统或其他图形系统的支持下运行,它能对裸显示设备进行直接操作。这样,Microwindows就显得十分小巧,便于移植到各种硬件和软件系统上。然而Microwindows的免费

8、版本进展一直很慢,几乎处于停顿状态,而且至今为止,国内没有任何一家对Microwindows提供全面技术支持、服务和担保的专业公司。Tiny X Server是XFree86 Project的一部分,由Keith Pachard发展起来的,而他本身就是XFree86专案的核心成员之一。一般的X Server都过于庞大,因此Keith Packard就以XFree86为基础,精简而成Tiny X Server,它的体积可以小到几百KB,非常适合应用于嵌入式环境。就纯X Window System搭配Tiny X Server架构来说,其最大的优点就是具有很好的弹性开发机制,并能大大提高开发速度。

9、因为与桌面的X架构相同,因此相对于很多以Qt、GTK+、FLTK等为基础开发的软件可以很容易地移植过来。7.1 嵌入式GUI简介 Qt图形编程11 常见GUI参数比较:7.1 嵌入式GUI简介 Qt图形编程12 7.2.1 Qt/Embedded介绍架构Qt/Embedded以原始Qt为基础,并做了许多出色的调整以适用于嵌入式环境。Qt/Embedded通过Qt API与Linux I/O设施直接交互,成为嵌入式Linux端口。同Qt/X11相比,Qt/Embedded很省内存,因为它不需要一个X服务器或是Xlib库,它在底层抛弃了X lib,采用framebuffer(帧缓冲)作为底层图形接

10、口。同时,将外部输入设备抽象为keyboard和mouse输入事件。Qt/Embedde的应用程序可以直接写内核缓冲帧,这避免开发者使用繁琐的Xlib/Server系统。 7.2 Qt/Embedded开发入门 应用源代码 Qt API Qt/Embedded Qt/X11 Qt/XLib X Window Server 帧缓冲 Linux 内核 Qt/Embedded与Qt X11 的linux版本的比较 Qt图形编程13 7.2.1 Qt/Embedded介绍Qt/Embedded组件窗口系统字体输入设备机输入法Qt的开发环境7.2 Qt/Embedded开发入门 Qt图形编程14 7.2

11、.1 Qt/Embedded介绍:Qt的开发环境Qt/Embedded的开发环境可以取代那些我们熟知的UNIX和Windows开发工具。它提供了几个跨平台的工具使得开发变得迅速和方便,尤其是它的图形设计器。UNIX下的开发者可以在PC机或者工作站使用虚拟缓冲帧,从而可以模仿一个和嵌入式设备的显示终端大小,像素相同的显示环境。嵌入式设备的应用可以在安装了一个跨平台开发工具链的不同的平台上编译。最通常的做法是在一个UNIX系统上安装跨平台的带有libc库的GNU C+编译器和二进制工具。在开发的许多阶段,一个可替代的做法是使用Qt的桌面版本 7.2 Qt/Embedded开发入门 Qt图形编程15

12、 7.2.1 Qt/Embedded介绍:Qt的支撑工具qmake是一个为编译Qt/Embedded库和应用而提供的Makefile生成器。它能够根据一个工程文件(.pro)产生不同平台下的Makefile文件。qmake支持跨平台开发和影子生成(影子生成是指当工程的源代码共享给网络上的多台机器时,每台机器编译链接这个工程的代码将在不同的子路径下完成,这样就不会覆盖别人的编译链接生成的文件。qmake还易于在不同的配置之间切换。)designer(Qt图形设计器)可以使开发者可视化地设计对话框而不需编写代码。使用Qt图形设计器的布局管理可以生成能平滑改变尺寸的对话框。7.2 Qt/Embedd

13、ed开发入门 Qt图形编程16 7.2.2 Qt/Embedded信号和插槽机制机制概述信号和插槽机制是Qt的核心机制 。信号和插槽是一种高级接口,应用于对象之间的通信,它是Qt的核心特性,也是Qt区别于其他工具包的重要地方。信号和插槽是Qt自行定义的一种通信机制,它独立于标准的C/C+语言,因此要正确的处理信号和插槽,必须借助一个称为moc(Meta Object Compiler)的Qt工具,该工具是一个C+预处理程序,它为高层次的事件处理自动生成所需要的附加代码。 7.2 Qt/Embedded开发入门 Qt图形编程17 7.2.2 Qt/Embedded信号和插槽机制机制概述对象间信号

14、与槽之间的关系7.2 Qt/Embedded开发入门 Qt图形编程18 7.2.2 Qt/Embedded信号和插槽机制信号与插槽的实现Qt的signals关键字指出进入了信号声明区,随后即可声明自己的信号。 示例:signals:void mySignal();void mySignal(int x);void mySignalParam(int x,int y);7.2 Qt/Embedded开发入门 Qt图形编程19 7.2.2 Qt/Embedded信号和插槽机制信号与插槽的实现插槽是普通的成员函数,因此与其他的函数一样,它们也有存取权限。插槽的存取权限决定了谁能够与其相关联。同普通的

15、C+成员函数一样,插槽函数也分为3种类型,即public slots、private slots和protected slots。public slots:在这个区内声明的槽意味着任何对象都可将信号与之相连接。这对于组件编程非常有用,用户可以创建彼此互不了解的对象,将它们的信号与槽进行连接以便信息能够正确地传递。protected slots:在这个区内声明的槽意味着当前类及其子类可以将信号与之相连接。这适用于那些槽,它们是类实现的一部分,但是其界面接口却面向外部。private slots:在这个区内声明的槽意味着只有类自己可以将信号与之相连接。这适用于联系非常紧密的类。 7.2 Qt/Em

16、bedded开发入门 Qt图形编程20 7.2.2 Qt/Embedded信号和插槽机制信号与插槽的实现插槽也能够被声明为虚函数,这也是非常有用的。插槽的声明也是在头文件中进行的。 示例:public slots:void mySlot();void mySlot(int x);void mySignalParam(int x,int y);7.2 Qt/Embedded开发入门 Qt图形编程21 7.2.2 Qt/Embedded信号和插槽机制信号与槽关联通过调用QObject对象的connect()函数可以将某个对象的信号与另外一个对象的插槽函数或信号相关联,当发射者发射信号时,接收者的槽

17、函数或信号将被调用。函数定义:bool QObject:connect (const QObject * sender, const char * signal,const QObject * receiver, const char * member) static示例:QLabel *label = new QLabel;QScrollBar *scroll = new QScrollBar;QObject:connect(scroll, SIGNAL(valueChanged(int),label, SLOT(setNum(int);7.2 Qt/Embedded开发入门 Qt图形编程2

18、2 7.2.2 Qt/Embedded信号和插槽机制信号与信号关联class MyWidget : public QWidgetpublic:MyWidget();.signals:void aSignal();.private:.QPushButton *aButton;MyWidget:MyWidget()aButton = new QPushButton(this);connect(aButton, SIGNAL(clicked(), SIGNAL(aSignal();7.2 Qt/Embedded开发入门 Qt图形编程23 7.2.2 Qt/Embedded信号和插槽机制信号与信号关联

19、当信号与槽没有必要继续保持关联时,用户可以使用disconnect()函数来断开连接。bool QObject:disconnect (const QObject * sender, const char * signal,const Object * receiver, const char * member) static有3种情况必须使用disconnect()函数: 断开与某个对象相关联的任何对象 断开与某个特定信号的任何关联 断开两个对象之间的关联 7.2 Qt/Embedded开发入门 Qt图形编程24 7.2.2 Qt/Embedded信号和插槽机制信号与信号关联当信号与槽没有必

20、要继续保持关联时,用户可以使用disconnect()函数来断开连接。bool QObject:disconnect (const QObject * sender, const char * signal,const Object * receiver, const char * member) static有3种情况必须使用disconnect()函数: 断开与某个对象相关联的任何对象 断开与某个特定信号的任何关联 断开两个对象之间的关联 7.2 Qt/Embedded开发入门 Qt图形编程25 7.2.3 搭建Qt/Embedded开发环境安装Qt/X11步骤解压源码包运行配置程序编译Q

21、t源代码安装Qt设置环境变量7.2 Qt/Embedded开发入门 Qt图形编程26 7.2.3 搭建Qt/Embedded开发环境安装Qt/X11步骤解压源码包#cd /home/user_name#tar zxvf qt-x11-opensource-src-4.4.3.tar.gz7.2 Qt/Embedded开发入门 Qt图形编程27 7.2.3 搭建Qt/Embedded开发环境安装Qt/X11运行配置程序#cd qt-x11-opensource-src-4.4.3#./configure7.2 Qt/Embedded开发入门 Qt图形编程28 7.2.3 搭建Qt/Embedde

22、d开发环境安装Qt/X11编译Qt源代码#make安装Qt#make install7.2 Qt/Embedded开发入门 Qt图形编程29 7.2.3 搭建Qt/Embedded开发环境安装Qt/X11设置环境变量#vi $HOME/.bash_profileexport QTDIR=/usr/local/Trolltech/Qt-4.4.3export PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH#source $HOME/.bash_profile7.2 Qt/Embedded开发入门 Qt

23、图形编程30 7.2.3 搭建Qt/Embedded开发环境安装Qt/Embedded开发环境主机系统:Ubuntu 8.10编译器版本:gcc/g+ 4.1.3;arm-linux-gcc/g+ 3.4.5内核源码:linux-2.6.26.5目标平台:s3c2410安装步骤解压源码包运行配置程序编译Qt/Embedded源代码安装Qt/Embedded设置环境变量复制库文件为开发板设置环境变量7.2 Qt/Embedded开发入门 Qt图形编程31 7.2.3 搭建Qt/Embedded开发环境安装Qt/Embedded解压源码包#cd /home/user_name#tar zxvf q

24、t-embedded-linux-opensource-src-4.4.3.tar.gz7.2 Qt/Embedded开发入门 Qt图形编程32 7.2.3 搭建Qt/Embedded开发环境安装Qt/Embedded运行配置程序#cd qt-embedded-linux-opensource-src-4.4.3#./configure embedded arm7.2 Qt/Embedded开发入门 Qt图形编程33 7.2.3 搭建Qt/Embedded开发环境安装Qt/Embedded编译Qt/Embedded源代码#make安装Qt/Embedded#make install7.2 Qt

25、/Embedded开发入门 Qt图形编程34 7.2.3 搭建Qt/Embedded开发环境安装Qt/Embedded设置环境变量为了更方便的使用Qt/Embedded提供的各种工具,同Qt/X11一样,需要对用户的环境变量进行设置。如果前面已经把Qt/X11的目录加入到PATH,那么在开发Qt/Embedded程序时,最好保证将Qt/Embedded的目录加在前面,因为现在使用的都是Qt/Embedded中的工具。 复制库文件#cp /usr/local/Trolltech/QtEmbedded-4.4.3/lib/libQt* /rootfs/home/qt/lib为开发板设置环境变量7.

26、2 Qt/Embedded开发入门 Qt图形编程35 7.2.3 搭建Qt/Embedded开发环境安装Qt/Embedded为开发板设置环境变量在开发板根文件系统的/bin目录下建立一个脚本文件qpe.sh,用来设置环境变量。#cd /rootfs/bin#vi qpe.sh#!/bin/shexport QTDIR=/home/qtexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH7.2 Qt/Embedded开发入门 Qt图形编程36 7.2.4 Qt/Embedded窗口部件Qt提供了一整套的窗口部件。它们组合起来可用于创建用户界面的可

27、视元素。按钮、菜单、滚动条、消息框和应用程序窗口都是窗口部件的实例。 窗口部件是QWidget或其子类的实例,用户自定义的窗口通过子类化得到。 7.2 Qt/Embedded开发入门 Qt图形编程37 7.2.4 Qt/Embedded窗口部件Hello窗口示例#include #include int main(int argc, char *argv)QApplication app(argc, argv);QLabel *label = new QLabel(Hello Qt!);hello-show();return app.exec();7.2 Qt/Embedded开发入门 Qt图

28、形编程38 7.2.4 Qt/Embedded窗口部件常见窗口组合7.2 Qt/Embedded开发入门 Qt图形编程39 7.2.4 Qt/Embedded窗口部件自定义窗口钟表部件是一个能显示当前时间并自动更新的LCD。一个冒号分隔符随秒数的流逝而闪烁 7.2 Qt/Embedded开发入门 Qt图形编程40 7.2.4 Qt/Embedded窗口部件自定义窗口实现:clock.h#include class Clock:public QLCDNumberpublic:Clock(QWidget *parent=0);protected:void timerEvent(QTimerEven

29、t *event);private:void showTime();bool showingColon;7.2 Qt/Embedded开发入门 Qt图形编程41 7.2.4 Qt/Embedded窗口部件自定义窗口实现:clock.cpp#include #include clock.hClock:Clock(QWidget *parent):QLCDNumber(parent),showingColon(true)showTime();startTimer(1000);void Clock:timerEvent(QTimerEvent *)showTime();7.2 Qt/Embedded

30、开发入门 Qt图形编程42 7.2.4 Qt/Embedded窗口部件void Clock:showTime()QString timer=QTime:currentTime().toString().left(5);if (!showingColon)time2= ;display(time);showingColon=!showingColon;7.2 Qt/Embedded开发入门 Qt图形编程43 7.2.4 Qt/Embedded窗口部件自定义窗口实现:main.cpp#include #include clock.hint main(int argc,char *argv)QApp

31、lication app(argc,argv);Clock *clock=new Clock;clock-show();return app.exec();7.2 Qt/Embedded开发入门 Qt图形编程44 7.2.5 Qt/Embedded图形界面编程主窗口类QMainWindow类提供了一个典型应用程序的主窗口框架。示例:QTextEdit *editor = new QTextEdit(mainWindow);mainWindow-setCentralWidget(editor);7.2 Qt/Embedded开发入门 Qt图形编程45 7.2.5 Qt/Embedded图形界面编

32、程菜单类QMenu类以垂直列表的方式显示菜单项,它可以是单个的(例如上下文相关菜单),可以以菜单栏的方式出现,或者是别的弹出式菜单的子菜单出现。 示例:QMenu *menu_F = new QMenu(&);QAction *actNew = menu_F - addAction(QIcon(:/new.png),&New);actNew - setShortcut(QKeySequence(Ctrl+N);QAction *actOpen = menu_F - addAction(QIcon(:/open.png),&Open);actOpen - setShortcut(QKeySequ

33、ence(Ctrl+O);QAction *actExit = menu_F - addAction(&Exit);actExit - setShortcut(QkeySequence(Ctrl+Q);7.2 Qt/Embedded开发入门 Qt图形编程46 7.2.5 Qt/Embedded图形界面编程工具栏QToolButton类实现了具有一个图标,一个3D框架和一个可选标签的工具栏。 旁述提示栏actNew - setStatusTip(open a file);这是什么actNew - setWhatsThis(open);7.2 Qt/Embedded开发入门 Qt图形编程47 7.

34、2.5 Qt/Embedded图形界面编程动作应用程序通常提供几种不同的方式来执行特定的动作。比如,许多应用程序通过菜单(Flie-Save),工具栏(像一个软盘的按钮)和快捷键(Ctrl+S)来提供“Save”动作。QAction类封装了“动作”这个概念。它允许程序员在某个地方定义一个动作。示例:QMenu *menu_F = new QMenu(&);QToolBar *ToolBar_F = addToolBar(&File);actOpen = new QAction(QIcon(:/images/open.png),&Open,this);actOpen - setShortcuts

35、(QKeySequence:Open);actOpen - setStatusTip(tr(Open an existing file);connect(actOpen, SIGNAL(triggered(), this, SLOT(open();menu_F - addAction(actOpen);ToolBar_F - addAction(actOpen);7.2 Qt/Embedded开发入门 Qt图形编程48 7.2.5 Qt/Embedded对话框设置布局内建布局管理器Qt提供了3种用于布局管理的类:QHBoxLayout,QVBox-Layout和QGridLayout。QHBo

36、xLayout 布局管理把窗体按照水平方向从左至右排成一行。QVBoxLayout布局管理把窗体按照垂直方向从上至下排成一列。QGridLayout布局管理以网格的方式来排列窗体,一个窗体可以占据多个网格。7.2 Qt/Embedded开发入门 Qt图形编程49 7.2.5 Qt/Embedded对话框设置布局三种布局管理器类示意图7.2 Qt/Embedded开发入门 Qt图形编程50 7.2.5 Qt/Embedded对话框设置布局如何微调布局设置一些延伸项目或间隔项目,延伸或间隔项目会填充空余的布局空间。改变子部件的尺寸策略。通过调用QWidget:setSizePolicy(),程序员

37、可以仔细调整子部件的缩放行为。子部件可以设置为扩展、收缩、保持原大小等状态。改变子部件的建议大小。QWidget:sizeHint()和QWidget:minimumSizeHint()会根据内容返回部件的首选尺寸和最小首选尺寸。内建部件提供了合适的重新实现。设置延伸因子。延伸因子规定了子部件的相应增量,比如,2/3的可用空间分配给部件A而1/3分配给B。7.2 Qt/Embedded开发入门 Qt图形编程51 7.2.5 Qt/Embedded对话框设置布局布局嵌套布局可以嵌套任意层7.2 Qt/Embedded开发入门 Qt图形编程52 7.2.5 Qt/Embedded对话框设置布局自定

38、义布局通过子类化QLayout,开发者可以定义自己的布局管理器。和Qt一起提供的customlayout样例展示了三个自定义布局管理器:BorderLayout、CardLayout和SimpleFlow,程序员可以使用并修改它们。7.2 Qt/Embedded开发入门 Qt图形编程53 7.2.5 Qt/Embedded对话框设置Qt/Embedded图形设计器Qt图形设计器是一个具有可视化用户接口的设计工具。Qt的应用程序可以完全用源代码来编写,或者使用Qt图形设计器来加速开发工作。启动Qt图形设计器的方法是:./designer7.2 Qt/Embedded开发入门 Qt图形编程54 7

39、.2.5 Qt/Embedded对话框设置建立对话框Qt为许多通用的任务提供了现成的包含了实用的静态函数的对话框类,主要有以下几种。QMessageBox类:是一个用于向用户提供信息或是让用户进行一些简单选择(例如“yes”或“no”)的对话框类。QProgressDialog类:包含了一个进度栏和一个“Cancel”按钮QWizard类:提供了一个向导对话框的框架。 7.2 Qt/Embedded开发入门 Qt图形编程55 7.2.5 Qt/Embedded对话框设置建立对话框7.2 Qt/Embedded开发入门QProgressDialog类对话框 QWizard类对话框QMessage

40、Box类对话框 Qt图形编程56 使用Qt编写“Hello world”程序实验目的:通过编写一个跳动的“Hello,World”字符串,进一步熟悉嵌入式Qt的开发过程。7.3 实验内容 Qt图形编程57 1安装配置Qt环境2. 使用Qt Designer设计图形用户界面3. 使用uic、qmake等工具4. 编写Qt程序7.4 小结 Qt图形编程58 1尝试在自己的pc上安装配置Qt环境。(注意环境变量的设置)2. 尝试使用Qt Designer设计一个简单的图形用户界面,并且将一些Qt预定义的信号与槽关联起来。3. 尝试使用Qt提供的uic,qmake等工具对上一题设计好的程序进行编译运行。(注意需要编写main函数)4. 尝试将“hello world”程序移植到目标板上。并在LCD上察看其运行的效果。7.4 思考与练习 Qt图形编程59

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!