使用Qt制作记事本程序,工程可以完整运行。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-01-19 00:25 MyNotepad
文件 430 2015-08-20 20:09 MyNotepadMyNotepad.pro
文件 18322 2016-01-19 00:25 MyNotepadMyNotepad.pro.user
文件 18315 2015-09-23 20:49 MyNotepadMyNotepad.pro.user.688a49a
文件 1150 2013-07-22 16:20 MyNotepadapp.ico
文件 7218 2015-08-20 22:04 MyNotepaddnotepad.cpp
文件 807 2015-08-20 21:46 MyNotepaddnotepad.h
文件 8032 2015-08-20 22:02 MyNotepaddnotepad.ui
文件 25214 2013-07-22 16:20 MyNotepaddocuments.ico
文件 656 2015-08-23 16:59 MyNotepadicon.qrc
目录 0 2015-08-20 19:52 MyNotepadicons
文件 16858 2015-01-29 15:28 MyNotepadicons1.jpg
文件 290871 2015-08-11 18:11 MyNotepadicons2.jpg
文件 85362 2015-08-11 18:03 MyNotepadicons3.jpg
文件 1760 2010-03-18 17:01 MyNotepadiconsapplication-exit.png
文件 1410 2010-03-18 17:01 MyNotepadiconsdocument-new.png
文件 1088 2010-03-18 17:01 MyNotepadiconsdocument-open.png
文件 2152 2010-03-18 17:01 MyNotepadiconsdocument-save-as.png
文件 1263 2010-03-18 17:01 MyNotepadiconsdocument-save.png
文件 860 2010-03-18 17:01 MyNotepadiconsedit-copy.png
文件 892 2010-03-18 17:01 MyNotepadiconsedit-cut.png
文件 937 2010-03-18 17:01 MyNotepadiconsedit-paste.png
文件 1998 2010-03-18 17:01 MyNotepadiconsedit-redo.png
文件 2020 2010-03-18 17:01 MyNotepadiconsedit-undo.png
文件 621 2015-08-23 17:10 MyNotepadmain.cpp
文件 57 2015-08-20 20:13 MyNotepadmyapp.rc
文件 922205 2015-06-18 20:56 MyNotepadscreen.jpg
文件 226673 2014-05-21 17:17 MyNotepadscreen.png
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “dnotepad.h“
#include “ui_dnotepad.h“
DNotepad::DNotepad(QWidget *parent) :
QMainWindow(parent)
ui(new Ui::DNotepad)
{
ui->setupUi(this);
this->setWindowtitle(“Untitle - txt“);//为窗口设置标题
this->setCentralWidget(ui->textEdit);//将textEdit提升为CentralWidget使得textEdit可以随着windows窗口大小的变化而变化
//文件菜单
connect(ui->actionNew_NSIGNAL(triggered())thisSLOT(slotNewFile()));
connect(ui->actionOpen_OSIGNAL(triggered())thisSLOT(slotOpenFile()));
connect(ui->actionSave_SSIGNAL(triggered())thisSLOT(slotSaveFile()));
connect(ui->actionExit_XSIGNAL(triggered())thisSLOT(close()));
//编辑菜单
connect(ui->actionUndoSIGNAL(triggered())ui->textEditSLOT(undo()));
connect(ui->actionRedoSIGNAL(triggered())ui->textEditSLOT(redo()));
connect(ui->actioncutSIGNAL(triggered())ui->textEditSLOT(cut()));
connect(ui->actioncopySIGNAL(triggered())ui->textEditSLOT(copy()));
connect(ui->actionpasteSIGNAL(triggered())ui->textEditSLOT(paste()));
connect(ui->actionselect_ALLSIGNAL(triggered())ui->textEditSLOT(selectAll()));
connect(ui->actionDateTimeSIGNAL(triggered())thisSLOT(slotCurrentDataTime()));
connect(ui->actionFontSIGNAL(triggered())thisSLOT(slotSetFont()));
connect(ui->actionColorSIGNAL(triggered())thisSLOT(slotSetColor()));
//帮助菜单
connect(ui->actionAbout_QtSIGNAL(triggered())qAppSLOT(aboutQt()));
connect(ui->actionAboutSIGNAL(triggered())thisSLOT(slotAbout()));
}
DNotepad::~DNotepad()
{
delete ui;
}
void DNotepad::closeEvent(QCloseEvent *event)
{
//event->accept();//默认的情况是接受的
//event->ignore();
if(ui->textEdit->document()->isModified())
{
QMessageBox msgBox;
msgBox.setText(“文件已经变更!“);
msgBox.setInformativeText(“你是否需要保存?“);
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();//由于QMessageBox继承与QDialog所以msgBox可以调用dialog的exec()方法
switch (ret) {
case QMessageBox::Save:
this->slotSaveFile();
break;
case QMessageBox::Discard:
this->close();
break;
case QMessageBox::Cancel:
event->ignore();
break;
default:
break;
}
}else
{
event->accept();
}
}
void DNotepad::slotNewFile()
{
/* 在这个ui界面文件中,textEdit只是提供了用户输入的一个部件,而用户真正输入的内容则是
* textEdit中的document所以textEdit中有没有变化,都是通过document来观察的变化的实质
* 与textEdit没有关系,而是document在变化。
* * * * * */
//测试当前文档中的内容是否改变
if(ui->textEdit->document()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-01-19 00:25 MyNotepad
文件 430 2015-08-20 20:09 MyNotepadMyNotepad.pro
文件 18322 2016-01-19 00:25 MyNotepadMyNotepad.pro.user
文件 18315 2015-09-23 20:49 MyNotepadMyNotepad.pro.user.688a49a
文件 1150 2013-07-22 16:20 MyNotepadapp.ico
文件 7218 2015-08-20 22:04 MyNotepaddnotepad.cpp
文件 807 2015-08-20 21:46 MyNotepaddnotepad.h
文件 8032 2015-08-20 22:02 MyNotepaddnotepad.ui
文件 25214 2013-07-22 16:20 MyNotepaddocuments.ico
文件 656 2015-08-23 16:59 MyNotepadicon.qrc
目录 0 2015-08-20 19:52 MyNotepadicons
文件 16858 2015-01-29 15:28 MyNotepadicons1.jpg
文件 290871 2015-08-11 18:11 MyNotepadicons2.jpg
文件 85362 2015-08-11 18:03 MyNotepadicons3.jpg
文件 1760 2010-03-18 17:01 MyNotepadiconsapplication-exit.png
文件 1410 2010-03-18 17:01 MyNotepadiconsdocument-new.png
文件 1088 2010-03-18 17:01 MyNotepadiconsdocument-open.png
文件 2152 2010-03-18 17:01 MyNotepadiconsdocument-save-as.png
文件 1263 2010-03-18 17:01 MyNotepadiconsdocument-save.png
文件 860 2010-03-18 17:01 MyNotepadiconsedit-copy.png
文件 892 2010-03-18 17:01 MyNotepadiconsedit-cut.png
文件 937 2010-03-18 17:01 MyNotepadiconsedit-paste.png
文件 1998 2010-03-18 17:01 MyNotepadiconsedit-redo.png
文件 2020 2010-03-18 17:01 MyNotepadiconsedit-undo.png
文件 621 2015-08-23 17:10 MyNotepadmain.cpp
文件 57 2015-08-20 20:13 MyNotepadmyapp.rc
文件 922205 2015-06-18 20:56 MyNotepadscreen.jpg
文件 226673 2014-05-21 17:17 MyNotepadscreen.png
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)