书签 分享 收藏 举报 版权申诉 / 58
上传文档赚钱

类型Qt5开发及实例(第2版)-第5章Qt课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3371948
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:58
  • 大小:3.34MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Qt5开发及实例(第2版)-第5章Qt课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Qt5 开发 实例 Qt 课件
    资源描述:

    1、第5章 Qt 5主窗体Qt 5主窗体主窗体构成构成5.15.25.35.45.5Qt 5文件操作功能文件操作功能Qt 5图像坐标变换图像坐标变换Qt 5文本编辑功能文本编辑功能Qt 5排版功能排版功能5.1 Qt 5主窗体构成主窗体构成5.1.1 基本元素基本元素QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器、图片编辑器等。本章将对此进行详细介绍。其界面布局如图

    2、5.1所示。5.1.1 基本元素基本元素1菜单栏菜单栏菜单是一系列命令的列表。为了实现菜单、工具栏按钮、键盘快捷方式等命令的一致性,Qt使用动作(Action)来表示这些命令。Qt的菜单就是由一系列的QAction动作对象构成的列表,而菜单栏则是包容菜单的面板,它位于主窗口顶部、主窗口标题栏的下面。一个主窗口最多只有一个菜单栏。2状态栏状态栏状态栏通常显示GUI应用程序的一些状态信息,它位于主窗口的最底部。用户可以在状态栏上添加、使用Qt窗口部件。一个主窗口最多只有一个状态栏。5.1.1 基本元素基本元素3工具栏工具栏工具栏是由一系列的类似于按钮的动作排列而成的面板,它通常由一些经常使用的命令

    3、(动作)组成。工具栏位于菜单栏的下面、状态栏的上面,可以停靠在主窗口的上、下、左、右四个方向上。一个主窗口可以包含多个工具栏。4锚接部件锚接部件锚接部件作为一个容器使用,以包容其他窗口部件来实现某些功能。例如,Qt设计器的属性编辑器、对象监视器等都是由锚接部件包容其他的Qt窗口部件来实现的。它位于工具栏区的内部,可以作为一个窗口自由地浮动在主窗口上面,也可以像工具栏一样停靠在主窗口的上、下、左、右四个方向上,一个主窗口可以包含多个锚接部件。5中心部件中心部件中心部件处在锚接部件区的内部、主窗口的中心,一个主窗口只有一个中心部件。5.1.2【综合实例】:文本编辑器【综合实例】:文本编辑器(1)新

    4、建Qt Widgets Application(详见1.3.1节),项目名称为“ImageProcessor”,基类选择“QMainWindow”,类名命名为“ImgProcessor”,取消“创建界面”复选框的选中状态。单击“下一步”按钮,最后单击“完成”按钮,完成该项目工程的建立。(2)添加该工程的提供主要显示文本编辑框函数所在的文件,在“ImageProcessor”项目名上单击鼠标右键,在弹出的快捷菜单中选择“添加新文件.”菜单项,在弹出的对话框中选择“C+Class”选项,单击“Choose.”按钮,弹出对话框,在“Base class”后面的下拉列表框中选择基类名“QWidget”

    5、,在“Class name”后面的文本框中输入类的名称“ShowWidget”。(3)单击“下一步”按钮,单击“完成”按钮,添加“showwidget.h”头文件和“showwidget.cpp”源文件。5.1.2【综合实例】:文本编辑器【综合实例】:文本编辑器(4)打开“showwidget.h”头文件,具体代码如下:#include#include#include#include class ShowWidget:public QWidget Q_OBJECTpublic:explicit ShowWidget(QWidget*parent=0);QImage img;QLabel*ima

    6、geLabel;QTextEdit*text;signals:public slots:;5.1.2【综合实例】:文本编辑器【综合实例】:文本编辑器(5)打开“showwidget.cpp”文件,添加如下代码:#include showwidget.h#include ShowWidget:ShowWidget(QWidget*parent):QWidget(parent)imageLabel=new QLabel;imageLabel-setScaledContents(true);text=new QTextEdit;QHBoxLayout*mainLayout=new QHBoxLayo

    7、ut(this);mainLayout-addWidget(imageLabel);mainLayout-addWidget(text);5.1.2【综合实例】:文本编辑器【综合实例】:文本编辑器(6)主函数ImgProcessor类声明中createActions()函数用于创建所有的动作、createMenus()函数用于创建菜单、createToolBars()函数用于创建工具栏;接着声明实现主窗口所需的各个元素,包括菜单、工具栏及各个动作等;最后声明用到的槽函数,打开“imgprocessor.h”文件,添加代码。5.1.2【综合实例】:文本编辑器【综合实例】:文本编辑器(7)下面是主

    8、窗口构造函数部分的内容,构造函数主要实现窗体的初始化,打开“imgprocessor.cpp”文件,添加如下代码:ImgProcessor:ImgProcessor(QWidget*parent):QMainWindow(parent)setWindowTitle(tr(Easy Word);/设置窗体标题 showWidget=new ShowWidget(this);/(a)setCentralWidget(showWidget);/*创建动作、菜单、工具栏的函数*/createActions();createMenus();createToolBars();if(img.load(ima

    9、ge.png)/在imageLabel对象中放置图像 showWidget-imageLabel-setPixmap(QPixmap:fromImage(img);5.1.3 菜单与工具栏的实现菜单与工具栏的实现1动作(动作(Action)的实现)的实现以下是实现基本文件操作的动作(Action)的代码。以下是实现打印文本和图像、图像缩放、旋转和镜像的动作(Action)的代码。2菜单(菜单(Menus)的实现)的实现在实现了各个动作之后,需要将它们通过菜单、工具栏或快捷键的方式体现出来,以下是菜单的实现函数createMenus()代码。3工具栏(工具栏(ToolBars)的实现)的实现接下

    10、来实现相对应的工具栏createToolBars(),主窗口的工具栏上可以有多个工具条,通常采用一个菜单对应一个工具条的方式,也可根据需要进行工具条的划分。工具条是一个可移动的窗口,它可停靠的区域由QToolBar的allowAreas决定,包括Qt:LeftToolBarArea、Qt:RightToolBarArea、Qt:TopToolBarArea、Qt:BottomToolBarArea和Qt:AllToolBarAreas。默认为Qt:AllToolBarAreas,启动后默认出现于主窗口的顶部。可通过调用setAllowAreas()函数来指定工具条可停靠的区域,例如:fileT

    11、ool-setAllowedAreas(Qt:TopToolBarArea|Qt:LeftToolBarArea);此函数限定文件工具条只可出现在主窗口的顶部或左侧。工具条也可通过调用setMovable()函数设定可移动性,例如:fileTool-setMovable(false);指定文件工具条不可移动,只出现于主窗口的顶部。5.1.3 菜单与工具栏的实现菜单与工具栏的实现5.1.3 菜单与工具栏的实现菜单与工具栏的实现将程序中用到的图片保存到该工程下的debug文件夹中,运行程序,结果如图5.3所示。5.2 Qt 5文件操作功能文件操作功能5.2.1 新建文件新建文件下面将介绍如何实现新

    12、建一个空白文件的功能。(1)打开“imgprocessor.h”头文件,添加“protected slots:”变量:protected slots:void ShowNewFile();(2)在createActions()函数的“新建动作”最后添加事件关联:connect(NewFileAction,SIGNAL(triggered(),this,SLOT(ShowNewFile();(3)实现新建文件功能的函数ShowNewFile()如下:void ImgProcessor:ShowNewFile()ImgProcessor*newImgProcessor=new ImgProcess

    13、or;newImgProcessor-show();5.2.1 新建文件(4)运行程序,单击“文件”“新建”命令或单击工具栏上的 按钮,弹出新的文件编辑窗口,如图5.4所示。5.2.2 打开文件(1)在“imgprocessor.h”头文件中添加“protected slots:”变量:void ShowOpenFile();(2)在createActions()函数的“打开动作”最后添加事件关联:connect(openFileAction,SIGNAL(triggered(),this,SLOT(ShowOpenFile();(3)实现打开文件功能的函数ShowOpenFile()如下:v

    14、oid ImgProcessor:ShowOpenFile()fileName=QFileDialog:getOpenFileName(this);if(!fileName.isEmpty()if(showWidget-text-document()-isEmpty()loadFile(fileName);else ImgProcessor*newImgProcessor=new ImgProcessor;newImgProcessor-show();newImgProcessor-loadFile(fileName);5.2.2 打开文件其中,loadFile()函数的实现如下,该函数利用Q

    15、File和QTextStream完成具体读取文件内容的工作:void ImgProcessor:loadFile(QString filename)printf(file name:%sn,filename.data();QFile file(filename);if(file.open(QIODevice:ReadOnly|QIODevice:Text)QTextStream textStream(&file);while(!textStream.atEnd()showWidget-text-append(textStream.readLine();printf(read linen);pr

    16、intf(endn);5.2.2 打开文件在此仅详细说明标准文件对话框QFileDialog的getOpenFileName()静态函数各个参数的作用,其他文件对话框类中相关的静态函数的参数有与其类似之处。QString QFileDialog:getOpenFileName(QWidget*parent=0,/定义标准文件对话框的父窗口const QString&caption=QString(),/定义标准文件对话框的标题名const QString&dir=QString(),/(a)const QString&filter=QString(),/(b)QString*selectedF

    17、ilter=0,/用户选择的过滤器通过此参数返回Options options=0);5.2.2 打开文件(4)在该源文件的开始部分添加如下头文件:#include#include#include(5)运行程序,单击“文件”“打开”命令或单击工具栏上的 按钮,弹出“打开”对话框,如图5.5(a)所示。选择某个文件,单击“打开”按钮,文本编辑框中将显示出该文件的内容,如图5.5(b)所示。5.2.3 打印文件打印文件1文本打印文本打印打印文本在文本编辑工作中经常使用,下面将介绍如何实现文本打印功能。实现后的效果如图5.6所示。5.2.3 打印文件打印文件具体实现步骤如下。(1)在头文件中添加“p

    18、rotected slots:”变量:void ShowPrintText();(2)在createActions()函数的“打印文本动作”最后添加事件关联:connect(PrintTextAction,SIGNAL(triggered(),this,SLOT(ShowPrintText();(3)实现打印文本功能的函数ShowPrintText()如下:void ImgProcessor:ShowPrintText()QPrinter printer;/新建一个QPrinter对象 QPrintDialog printDialog(&printer,this);/(a)if(printDi

    19、alog.exec()/(b)/获得QTextEdit对象的文档 QTextDocument*doc=showWidget-text-document();doc-print(&printer);/打印 5.2.3 打印文件打印文件(4)在该源文件的开始部分添加如下头文件:#include#include(5)运行程序,单击“文件”“打印文本”命令或工具栏上的 按钮,弹出标准打印对话框,如图5.6所示。5.2.3 打印文件打印文件2图像打印图像打印(1)在头文件中添加“protected slots:”变量:void ShowPrintImage();(2)在createActions()函数

    20、的最后添加事件关联:connect(PrintImageAction,SIGNAL(triggered(),this,SLOT(ShowPrintImage();5.2.3 打印文件打印文件(3)实现打印图像功能的函数ShowPrintImage()如下:void ImgProcessor:ShowPrintImage()QPrinter printer;/新建一个QPrinter对象 QPrintDialog printDialog(&printer,this);/(a)if(printDialog.exec()/(b)QPainter painter(&printer);/(c)QRect

    21、 rect=painter.viewport();/获得QPainter对象的视图矩形区域 QSize size=img.size();/获得图像的大小 /*按照图形的比例大小重新设置视图矩形区域*/size.scale(rect.size(),Qt:KeepAspectRatio);painter.setViewport(rect.x(),rect.y(),size.width(),size.height();painter.setWindow(img.rect();/设置QPainter窗口大小为图像的大小 painter.drawImage(0,0,img);/打印图像 5.2.3 打印

    22、文件打印文件(4)在该源文件的开始部分添加如下头文件:#include(5)运行程序,单击“文件”“打印图像”命令或单击工具栏上的 按钮,弹出标准打印对话框,显示效果如图5.6所示。5.3 Qt 5图像坐标变换图像坐标变换5.3.1 缩放功能缩放功能下面将介绍如何实现缩放功能,具体步骤如下。(1)在头文件中添加“protected slots:”变量:void ShowZoomIn();(2)在createActions()函数的最后添加事件关联:connect(zoomInAction,SIGNAL(triggered(),this,SLOT(ShowZoomIn();(3)实现图形放大功能

    23、的函数ShowZoomIn()如下:void ImgProcessor:ShowZoomIn()if(img.isNull()/有效性判断 return;QMatrix martix;/声明一个QMatrix类的实例 martix.scale(2,2);/(a)img=img.transformed(martix);/重新设置显示图形 showWidget-imageLabel-setPixmap(QPixmap:fromImage(img);5.3.1 缩放功能缩放功能(4)在头文件中添加“protected slots:”变量:void ShowZoomOut();(5)在createAc

    24、tions()函数的最后添加事件关联:connect(zoomOutAction,SIGNAL(triggered(),this,SLOT(ShowZoomOut();(6)实现图形缩小功能的函数ShowZoomOut()如下:void ImgProcessor:ShowZoomOut()if(img.isNull()return;QMatrix matrix;matrix.scale(0.5,0.5);/(a)img=img.transformed(matrix);showWidget-imageLabel-setPixmap(QPixmap:fromImage(img);5.3.1 缩放功

    25、能缩放功能(7)运行程序,单击“编辑”“放大”命令或单击工具栏上的 按钮,界面效果如图5.7所示。5.3.2 旋转功能旋转功能(1)在头文件中添加“protected slots:”变量:void ShowRotate90();(2)在createActions()函数的最后添加事件关联:connect(rotate90Action,SIGNAL(triggered(),this,SLOT(ShowRotate90();(3)ShowRotate90()函数的具体实现代码如下:void ImgProcessor:ShowRotate90()if(img.isNull()return;QMatr

    26、ix matrix;matrix.rotate(90);img=img.transformed(matrix);showWidget-imageLabel-setPixmap(QPixmap:fromImage(img);5.3.2 旋转功能旋转功能(4)在头文件中添加“protected slots:”变量:void ShowRotate180();void ShowRotate270();(5)在createActions()函数的最后添加事件关联:connect(rotate180Action,SIGNAL(triggered(),this,SLOT(ShowRotate180();co

    27、nnect(rotate270Action,SIGNAL(triggered(),this,SLOT(ShowRotate270();5.3.2 旋转功能旋转功能(6)ShowRotate180()、ShowRotate270()函数的具体实现代码如下:void ImgProcessor:ShowRotate180()if(img.isNull()return;QMatrix matrix;matrix.rotate(180);img=img.transformed(matrix);showWidget-imageLabel-setPixmap(QPixmap:fromImage(img);v

    28、oid ImgProcessor:ShowRotate270()if(img.isNull()return;QMatrix matrix;matrix.rotate(270);img=img.transformed(matrix);showWidget-imageLabel-setPixmap(QPixmap:fromImage(img);5.3.2 旋转功能旋转功能(7)运行程序,单击“旋转”“旋转90”命令或单击工具栏上的 按钮,图像旋转效果如图5.8所示。5.3.3 镜像功能镜像功能(1)在头文件中添加“protected slots:”变量:void ShowMirrorVertica

    29、l();void ShowMirrorHorizontal();(2)在createActions()函数的最后添加事件关联:connect(mirrorVerticalAction,SIGNAL(triggered(),this,SLOT(ShowMirror Vertical();connect(mirrorHorizontalAction,SIGNAL(triggered(),this,SLOT(ShowMirrorHorizontal();5.3.3 镜像功能镜像功能(3)ShowMirrorVertical()、ShowMirrorHorizontal()函数的具体实现代码如下:vo

    30、id ImgProcessor:ShowMirrorVertical()if(img.isNull()return;img=img.mirrored(false,true);showWidget-imageLabel-setPixmap(QPixmap:fromImage(img);void ImgProcessor:ShowMirrorHorizontal()if(img.isNull()return;img=img.mirrored(true,false);showWidget-imageLabel-setPixmap(QPixmap:fromImage(img);5.3.3 镜像功能镜像

    31、功能(4)此时运行程序,单击“镜像”“横向镜像”命令,蝴蝶翅膀底部的阴影从右边移到左边,显示效果如图5.9所示。5.4 Qt 5文本编辑功能各类之间的划分与关系如图5.10所示。5.4 Qt 5文本编辑功能实现文本编辑的具体操作步骤如下。(1)在头文件中添加“private:”变量:QLabel*fontLabel1;/字体设置项QFontComboBox*fontComboBox;QLabel*fontLabel2;QComboBox*sizeComboBox;QToolButton*boldBtn;QToolButton*italicBtn;QToolButton*underlineBtn

    32、;QToolButton*colorBtn;QToolBar*fontToolBar;/字体工具栏5.4 Qt 5文本编辑功能(2)在头文件中添加“protected slots:”变量:void ShowFontComboBox(QString comboStr);void ShowSizeSpinBox(QString spinValue);void ShowBoldBtn();void ShowItalicBtn();void ShowUnderlineBtn();void ShowColorBtn();void ShowCurrentFormatChanged(const QTextC

    33、harFormat&fmt);(3)在相对应的构造函数中,在语句“setCentralWidget(showWidget);”与语句“createActions();”之间添加代码。5.4 Qt 5文本编辑功能(4)在该构造函数的最后部分添加相关的事件关联:connect(fontComboBox,SIGNAL(activated(QString),this,SLOT(ShowFontComboBox(QString);connect(sizeComboBox,SIGNAL(activated(QString),this,SLOT(ShowSizeSpinBox(QString);connec

    34、t(boldBtn,SIGNAL(clicked(),this,SLOT(ShowBoldBtn();connect(italicBtn,SIGNAL(clicked(),this,SLOT(ShowItalicBtn();connect(underlineBtn,SIGNAL(clicked(),this,SLOT(ShowUnderlineBtn();connect(colorBtn,SIGNAL(clicked(),this,SLOT(ShowColorBtn();connect(showWidget-text,SIGNAL(currentCharFormatChanged(QtextC

    35、har Format&),this,SLOT(ShowCurrentFormatChanged(QTextCharFormat&);5.4 Qt 5文本编辑功能(5)在相对应的工具栏createToolBars()函数中添加如下代码:/字体工具条fontToolBar=addToolBar(Font);fontToolBar-addWidget(fontLabel1);fontToolBar-addWidget(fontComboBox);fontToolBar-addWidget(fontLabel2);fontToolBar-addWidget(sizeComboBox);fontTool

    36、Bar-addSeparator();fontToolBar-addWidget(boldBtn);fontToolBar-addWidget(italicBtn);fontToolBar-addWidget(underlineBtn);fontToolBar-addSeparator();fontToolBar-addWidget(colorBtn);5.4.1 设置字体设置字体完成设置选定文字字体的函数ShowFontComboBox()代码如下:void ImgProcessor:ShowFontComboBox(QString comboStr)/设置字体 QTextCharForma

    37、t fmt;/创建一个QTextCharFormat对象 fmt.setFontFamily(comboStr);/选择的字体名称设置给QTextCharFormat对象 mergeFormat(fmt);/将新的格式应用到光标选区内的字符前面介绍过,所有对于QTextDocument进行的修改都通过QTextCursor类来完成,具体代码如下:void ImgProcessor:mergeFormat(QTextCharFormat format)QTextCursor cursor=showWidget-text-textCursor();/获得编辑框中的光标 if(!cursor.has

    38、Selection()/(a)cursor.select(QTextCursor:WordUnderCursor);cursor.mergeCharFormat(format);/(b)showWidget-text-mergeCurrentCharFormat(format);/(c)5.4.2 设置字号设置字号设置选定文字字号大小的ShowSizeSpinBox()函数代码如下:void ImgProcessor:ShowSizeSpinBox(QString spinValue)/设置字号 QTextCharFormat fmt;fmt.setFontPointSize(spinValu

    39、e.toFloat();showWidget-text-mergeCurrentCharFormat(fmt);5.4.3 设置文字加粗设置文字加粗设置选定文字为加粗显示的ShowBoldBtn()函数代码如下:void ImgProcessor:ShowBoldBtn()/设置文字显示加粗 QTextCharFormat fmt;fmt.setFontWeight(boldBtn-isChecked()?QFont:Bold:QFont:Normal);showWidget-text-mergeCurrentCharFormat(fmt);5.4.4 设置字体倾斜设置字体倾斜设置选定文字为斜

    40、体显示的ShowItalicBtn()函数代码如下:void ImgProcessor:ShowItalicBtn()/设置文字显示斜体 QTextCharFormat fmt;fmt.setFontItalic(italicBtn-isChecked();showWidget-text-mergeCurrentCharFormat(fmt);5.4.5 文字加下画线文字加下画线在选定文字下方加下画线的ShowUnderlineBtn()函数代码如下:void ImgProcessor:ShowUnderlineBtn()/设置文字加下画线 QTextCharFormat fmt;fmt.se

    41、tFontUnderline(underlineBtn-isChecked();showWidget-text-mergeCurrentCharFormat(fmt);5.4.6 设置文字颜色设置文字颜色设置选定文字颜色的ShowColorBtn()函数代码如下:void ImgProcessor:ShowColorBtn()/设置文字颜色QColor color=QColorDialog:getColor(Qt:red,this);/(a)if(color.isValid()QTextCharFormat fmt;fmt.setForeground(color);showWidget-tex

    42、t-mergeCurrentCharFormat(fmt);在头文件中添加声明:#include#include 5.4.6 设置文字颜色设置文字颜色标准颜色对话框QColorDialog类的使用:QColor getColor(const QColor&initial=Qt:white,QWidget*parent=0);第1个参数指定了选中的颜色,默认为白色。5.4.7 设置字符格式设置字符格式当光标所在处的字符格式发生变化时调用此槽函数,函数根据新的字符格式将工具栏上各个格式控件的显示更新。void ImgProcessor:ShowCurrentFormatChanged(const

    43、QTextCharFormat&fmt)fontComboBox-setCurrentIndex(fontComboBox-findText(fmt.fontFamily();sizeComboBox-setCurrentIndex(sizeComboBox-findText(QString:number(fmt.fontPointSize();boldBtn-setChecked(fmt.font().bold();italicBtn-setChecked(fmt.fontItalic();underlineBtn-setChecked(fmt.fontUnderline();5.5 Qt

    44、5排版功能排版功能具体实现步骤如下。(1)在头文件中添加“private:”变量:QLabel*listLabel;/排序设置项QComboBox*listComboBox;QActionGroup*actGrp;QAction*leftAction;QAction*rightAction;QAction*centerAction;QAction*justifyAction;QToolBar*listToolBar;/排序工具栏(2)在头文件中添加“protected slots:”变量:void ShowList(int);void ShowAlignment(QAction*act);vo

    45、id ShowCursorPositionChanged();5.5 Qt 5排版功能排版功能(3)在相对应的构造函数中,在语句“setCentralWidget(showWidget);”与语句“createActions();”之间添加如下代码:/排序listLabel=new QLabel(tr(排序);listComboBox=new QComboBox;listComboBox-addItem(Standard);listComboBox-addItem(QTextListFormat:ListDisc);listComboBox-addItem(QTextListFormat:Li

    46、stCircle);listComboBox-addItem(QTextListFormat:ListSquare);listComboBox-addItem(QTextListFormat:ListDecimal);listComboBox-addItem(QTextListFormat:ListLowerAlpha);listComboBox-addItem(QTextListFormat:ListUpperAlpha);listComboBox-addItem(QTextListFormat:ListLowerRoman);listComboBox-addItem(QTextListFo

    47、rmat:ListUpperRoman);5.5 Qt 5排版功能排版功能(4)在构造函数的最后部分添加相关的事件关联:connect(listComboBox,SIGNAL(activated(int),this,SLOT(ShowList(int);connect(showWidget-text-document(),SIGNAL(undoAvailable(bool),redoAction,SLOT(setEnabled(bool);connect(showWidget-text-document(),SIGNAL(redoAvailable(bool),redoAction,SLOT(

    48、setEnabled(bool);connect(showWidget-text,SIGNAL(cursorPositionChanged(),this,SLOT(ShowCursorPositionChanged();5.5 Qt 5排版功能排版功能(5)在相对应的工具栏createActions()函数中添加如下代码:/排序:左对齐、右对齐、居中和两端对齐actGrp=new QActionGroup(this);leftAction=new QAction(QIcon(left.png),左对齐,actGrp);leftAction-setCheckable(true);rightAct

    49、ion=new QAction(QIcon(right.png),右对齐,actGrp);rightAction-setCheckable(true);centerAction=new QAction(QIcon(center.png),居中,actGrp);centerAction-setCheckable(true);justifyAction=new QAction(QIcon(justify.png),两端对齐,actGrp);justifyAction-setCheckable(true);connect(actGrp,SIGNAL(triggered(QAction*),this,

    50、SLOT(ShowAlignment(QAction*);5.5 Qt 5排版功能排版功能(6)在相对应的工具栏createToolBars()函数中添加如下代码:/排序工具条listToolBar=addToolBar(list);listToolBar-addWidget(listLabel);listToolBar-addWidget(listComboBox);listToolBar-addSeparator();listToolBar-addActions(actGrp-actions();5.5.1 实现段落对齐完成对按下某个对齐按钮的响应用ShowAlignment()函数,根据

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Qt5开发及实例(第2版)-第5章Qt课件.ppt
    链接地址:https://www.163wenku.com/p-3371948.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库