效果图:
菜单File的功能和工具条的功能一样。
主要功能:
1、获取系统时间和日期。
2、将界面的数据保存为txt文件。
3、播放背景音乐。
ui界面通过拖拽控件来实现,内部实现代码如下。
主要代码:
/*main.cpp*/
#include "mynote.h"
#include <QApplication>
#include <QSound>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QSound::play("music.wav");
MyNote w;
w.show();
return a.exec();
}
/*mynote.h*/
#ifndef MYNOTE_H
#define MYNOTE_H
#include <QMainWindow>
#include <QDateEdit>
#include <QTimeEdit>
#include <QComboBox>
#include "aboutnote.h"
namespace Ui {
class MyNote;
}
class MyNote : public QMainWindow
{
Q_OBJECT
public:
explicit MyNote(QWidget *parent = 0);
~MyNote();
public:
MyNote *newMyNote;
AboutNote *aboutNote;
private slots:
void on_actionNew_triggered();
void on_actionExit_triggered();
void on_actionAbout_Note_triggered();
void on_actionAbout_Qt_triggered();
void on_actionSave_triggered();
private:
Ui::MyNote *ui;
};
#endif // MYNOTE_H
/*mynote.cpp*/
#include "mynote.h"
#include "ui_mynote.h"
#include "aboutnote.h"
#include <QSaveFile> //保存数据
#include <QString>
#include <QDebug>
#include <QSaveFile>//保存文件
#include <QFileDialog>
MyNote::MyNote(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MyNote)
{
ui->setupUi(this);
QDate date = QDate(QDate::currentDate());
ui->dateEdit->setDate(date);
QTime time = QTime(QTime::currentTime());
ui->timeEdit->setTime(time);
ui->actionNew->setIcon(style()->standardIcon(QStyle::SP_DialogOpenButton));
ui->actionSave->setIcon(style()->standardIcon(QStyle::SP_DialogSaveButton));
ui->actionExit->setIcon(QIcon("quit.png"));
}
MyNote::~MyNote()
{
delete ui;
}
void MyNote::on_actionNew_triggered()
{
newMyNote = new MyNote;
newMyNote->show();
}
void MyNote::on_actionExit_triggered()
{
close();
}
void MyNote::on_actionAbout_Note_triggered()
{
aboutNote = new AboutNote;
aboutNote->setModal(true);
aboutNote->show();
}
void MyNote::on_actionAbout_Qt_triggered()
{
QApplication::aboutQt();
}
void MyNote::on_actionSave_triggered() //保存数据
{
QString fileName = QFileDialog::getSaveFileName(this,
tr("保存 "),
"",
tr("保存类型 (*.txt)"));
if (!fileName.isNull())
{
//fileName是文件名
QFile file(fileName); //不弹出对话框,方法可行
file.open(QIODevice::WriteOnly);
QString text ;
QTextStream infile(&file);
text = ui->dateEdit->text();
infile << "\r\n" << text << "\r\n";
text.clear();
text = ui->timeEdit->text();
infile << "\r\n" << text << "\r\n";
text.clear();
text = ui->textEdit->toPlainText();
text.replace(QString("\n"), QString("\r\n"));
infile << "\r\n" << text << "\r\n";
text.clear();
file.close();
}
else
{
qDebug()<<"取消";
//点的是取消
}
// QFile file("test.txt"); //不弹出对话框,方法可行
// file.open(QIODevice::WriteOnly);
// QString text = ui->textEdit->toPlainText();
// text.replace(QString("\n"), QString("\r\n"));
// QTextStream infile(&file);
// infile << "\r\n" << text << "\r\n";
// file.close();
}
/*about.h*/
#ifndef ABOUTNOTE_H
#define ABOUTNOTE_H
#include <QDialog>
namespace Ui {
class AboutNote;
}
class AboutNote : public QDialog
{
Q_OBJECT
public:
explicit AboutNote(QWidget *parent = 0);
~AboutNote();
private:
Ui::AboutNote *ui;
};
#endif // ABOUTNOTE_H
/*about.cpp*/
#include "aboutnote.h"
#include "ui_aboutnote.h"
AboutNote::AboutNote(QWidget *parent) :
QDialog(parent),
ui(new Ui::AboutNote)
{
ui->setupUi(this);
}
AboutNote::~AboutNote()
{
delete ui;
}