欢迎来到天天文库
浏览记录
ID:51496304
大小:1.42 MB
页数:22页
时间:2020-03-25
《linux系统编程第12章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第12章综合设计本章重点记事本的实现FTP客户端程序的实现212.1记事本程序设计本设计的主要功能是程序在开始时有欢迎界面,进入主程序之后,在文字编辑区域可以进行文字的输入,并且能做改变字体样式和大小,加粗、斜体、下划线等相应的编辑工作,也可以进行剪切,粘贴,拷贝,对齐等操作。文本可以保存,再打开编辑。312.1记事本程序设计本设计主要分菜单模块,工具模块和文本编辑模块,其各个模块的功能:412.1记事本程序设计操作步骤:步骤1.创建工程。步骤2.创建主窗体。步骤3.创建actions:在ActionEditor编辑器的PropertyEditor/SignalHandlers选项卡中设置相关
2、的属性。粗体,斜体和下划线的属性设置512.1记事本程序设计文本对齐方式action在action编辑器中新建actiongroup。在PropertyEditor/SignalHandlers选项卡中设置相关的属性。左对齐,右对齐和居中对齐的属性设置。612.1记事本程序设计步骤4.自定义工具条。步骤5.自定义菜单。步骤6.添加文本编辑区域TextEdit。步骤7.连接信号和槽。712.1记事本程序设计步骤8.创建ui文件。步骤9.记事本功能代码部分。添加类成员变量和头文件812.1记事本程序设计记事本的初始化,新建,保存,文本对齐等功能代码在wordpad.ui.h中编写。新建菜单:voi
3、dwordpad::fileNew(){if(saveAndContinue("New"))textEdit1->clear();//清空文本编辑区}912.1记事本程序设计打开菜单:以只读的方式打开文件流,使用textEdit的setText()方法把文件读进来。voidwordpad::fileOpen(){if(saveAndContinue("Open")){//调用打开文件对话框QStringfn(QFileDialog::getOpenFileName(QString::null,"RichTextFiles(*.txt*)",this));//读入文件if(!fn.isEmpty
4、()){fileName=fn;QFilefile(fileName);if(file.open(IO_ReadOnly)){QTextStreamts(&file);textEdit1->setText(ts.read());}}}}1012.1记事本程序设计保存菜单:voidwordpad::fileSave(){if(fileName.isEmpty()){fileSaveAs();}else{QFilef(fileName);if(f.open(IO_WriteOnly)){QTextStreamts(&f);ts<text();//把文件输入到QTextStr
5、eamtstextEdit1->setModified(FALSE);}}}}1112.1记事本程序设计另存为菜单:调用保存对话框,保存对话框是通用对话框,如果名称栏里填的名称使用getSaveFileName()方法获得的需要保存文件的名称,然后调用filesave():voidwordpad::fileSaveAs(){QStringfn=QFileDialog::getSaveFileName("","RichTextFiles(*.txt*)",this);if(!fn.isEmpty()){fileName=fn;fileSave();}}1212.1记事本程序设计保存并且继续:in
6、twordpad::saveAndContinue(constQString&action){intcontinueAction=1;if(textEdit1->isModified()){//提示信息消息框switch(QMessageBox::information(this,"wordpad",trUtf8("当前文件已经被修改""是否需要保存当前文档?"),trUtf8("保存(&Save)"),trUtf8("不保存(&Don'tSave)"),trUtf8("取消(&Cancel)")+action,0,//Enter==button02)){//Escape==button2
7、保存并且继续:case0://保存,继续fileSave();break;case1://不保存,继续工作break;case2://取消操作continueAction=0;break;}}returncontinueAction;}1312.1记事本程序设计改变对齐方式:voidwordpad::changeAlignment(QAction*align){if(align==leftActi
此文档下载收益归作者所有