欢迎来到天天文库
浏览记录
ID:45077611
大小:3.67 MB
页数:42页
时间:2019-11-09
《QmainWindow主窗体》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章QmainWindow主窗体6.1创建菜单的菜单、工具栏以及动作6.2新建文件6.3标准文件对话框(QFileDialog)6.4标准打印对话框(QPrintDialog)6.5QMatrix实现图像坐标变换6.6文本编辑6.7实现段落对齐及文本排序功能QMainWindow是一个为用户提供主窗口程序的类,可包含一个菜单栏(menubar)、多个工具栏(toolbars)、多个锚接部件(dockwidgets)、一个状态栏(statusbar)以及一个中心部件(centralwidget),是许多应用程序的基础,如文本编辑器、图片编辑器等。其界面布局如图6.1所示。介绍了
2、利用标准文件对话框QFileDialog打开一个已存在的文件的使用方法、利用QFile和QTextStream读取文件内容的使用方法。图像处理软件中的常用功能有打印图像、图片的缩放、旋转以及镜像等坐标变换,本章通过本实例介绍标准打印对话框QPrintDialog的使用方法、以QPrinter作为QPaintDevice画图实现图像打印以及使用QMatrix实现图像的各种坐标变换。其次,通过在工具栏上设置文字字体、字号大小、加粗、斜体、下画线以及字体颜色等快捷按钮的实现介绍了在工具栏中嵌入控件的方法,其中,通过设置字体颜色功能介绍了标准颜色对话框QColorDialog类的使用方
3、法,通过选择某种排序方式实现对文本排序的方法,以及实现文本对齐(包括左对齐、右对齐、居中和两端对齐)和撤销、恢复的方法。见程序源代码CH601。最终实现的效果如图6.2所示。6.1创建菜单的菜单、工具栏以及动作下面是主窗口构造函数部分内容,构造函数主要实现窗体的初始化,打开“imgprocessor.cpp”文件,添加如下代码:ImgProcessor::ImgProcessor(QWidget*parent):QMainWindow(parent){setWindowTitle(tr("ImageProcessor"));showWidget=newShowWidget(th
4、is);setCentralWidget(showWidget);createActions();createMenus();createToolBars();if(img.load("image.png")){showWidget->imageLabel->setPixmap(QPixmap::fromImage(img));}}6.1.1动作(Action)的实现实现打开文件和新建文件的动作(Action)的实现代码。实现打印文本以及打印图像、图像缩放的动作(Action)的实现代码。6.1.2菜单(Menus)的实现在实现了各个动作之后,需要把它通过菜单以及工具栏快捷键的
5、方式体现出来,以下是菜单的实现函数createMenus():6.1.3工具栏(ToolBars)的实现接下来实现相对应的工具栏createToolBars(),主窗口的工具栏上可以有多个工具条,一般采用一个菜单对应一个工具条的方式,也可根据需要进行工具条的划分。工具条是一个可移动的窗口,它可停靠的区域由QToolBar的allowAreas决定,包括Qt::LeftToolBarArea、Qt::RightToolBarArea、Qt::TopToolBarArea、Qt::BottomToolBarArea和Qt::AllToolBarAreas。默认为Qt::AllToo
6、lBarAreas,启动默认出现于主窗口的顶部。可通过调用setAllowAreas()函数来指定工具条可停靠的区域,如:fileToolBar->setAllowAreas(Qt::TopToolBarArea
7、Qt::LeftToolBarArea);此函数限定文件工具条只可出现在主窗口的顶部或左侧。工具条也可通过调用setMovable()函数设定工具条的可移动性,如:fileToolBar->setMovable(false);6.1.3工具栏(ToolBars)的实现打开“main.cpp”文件,添加如下加黑代码:#include8、>#include"imgprocessor.h"#includeintmain(intargc,char*argv[]){QApplicationa(argc,argv);QTextCodec::setCodecForTr(QTextCodec::codecForLocale());//显示中文ImgProcessorw;w.show();returna.exec();}6.1.3工具栏(ToolBars)的实现将程序中用到的图片保存到该工程下的debug文件夹中,
8、>#include"imgprocessor.h"#includeintmain(intargc,char*argv[]){QApplicationa(argc,argv);QTextCodec::setCodecForTr(QTextCodec::codecForLocale());//显示中文ImgProcessorw;w.show();returna.exec();}6.1.3工具栏(ToolBars)的实现将程序中用到的图片保存到该工程下的debug文件夹中,
此文档下载收益归作者所有