Qt:记事本源代码分享(新手入门,老鸟勿喷)
Qt,记事本,源代码分享,原创2016-06-28
菜单File的功能和工具条的功能一样。
1、获取系统时间和日期。
2、将界面的数据保存为txt文件。
3、播放背景音乐。
ui界面通过拖拽控件来实现,内部实现代码如下。
#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(); }
#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
#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(); }
#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
#include "aboutnote.h" #include "ui_aboutnote.h" AboutNote::AboutNote(QWidget *parent) : QDialog(parent), ui(new Ui::AboutNote) { ui->setupUi(this); } AboutNote::~AboutNote() { delete ui; }