QT编程实例1--简单的文本编辑器(中)
本程序的核心任务建立主窗口,并创建菜单、工具条、状态栏、中心部件,菜单栏中的选项还应创建相应的动作相关的函数。在该实现文件中对以下函数进行了具体的代码编写,代码见下。
createActions()函数用于创建程序中用到的动作Action;
creatMenus()函数用于创建菜单Menu;
creatToolBars()函数用于创建工具栏ToolBar;
creatStatusBar()函数用于创建状态栏StatusBar。
主菜单栏上用到的3个控件fileMenu、editMenu、helpMenu
工具栏上的两个控件fileToolBar、editToolBar
在mainwindow.cpp文件中主要是实现在mainwindow.h文件的新类中自定义的一些方法,如构造函数MainWindow()、newFile()等槽函数等。构造函数MainWindow()里实现了界面的一些初始化工作和基本参数设置工作。
textEdit = new QTextEdit(this);
setCentralWidget(textEdit);
以上两句代码设置了中心部件文本编辑器。
createActions();
createMenus();
createToolBars();
createStatusBars();
这4句以creat开头的语句一次创建动作、主菜单、工具栏和状态条。儿调用readSettings()则是恢复用户的偏好。connect(textEdit->document(),SIGNAL(contentsChanged()),this,SLOT(documentWasModified()));该句通过connect绑定信号与槽实现的是建立一个textedit的文档对象信号与documentWasModified()之间的关系。当用户修改文本时,更新标题栏显示该文件的修改。最后,调用函数setCurrentFile(“”)设置了窗口的标题。
在创建动作时,我们会发现每创建一个动作,就需要对这个动作做4件事情,即使用4个函数。以创建新文件的动作为例,一起看看代码:
//new file action
newAct = new QAction(QIcon(":/images/new.png