代码来源
https://www.hyz.cool/articles/170
Qt开发Windows——Notepad | 续加仪的博客-开发学习记录
//mainwindow.cpp
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setCentralWidget(ui->textEdit);
}
//mainwindow.cpp
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setCentralWidget(ui->textEdit);
}
//mainwindow.h
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QString currentFile;
};
//mainwindow.h
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QString currentFile;
};
//mainwindow.cpp
//新建文件
void MainWindow::on_new_file_triggered()
{
qDebug()<<"Start Create New File ...";
currentFile.clear();
ui->textEdit->setText("");
}
//mainwindow.cpp
//新建文件
void MainWindow::on_new_file_triggered()
{
qDebug()<<"Start Create New File ...";
currentFile.clear();
ui->textEdit->setText("");
}
//mainwindow.cpp
#include "QFileDialog"
#include "QMessageBox"
//打开文件
void MainWindow::on_open_file_triggered()
{
QString fileName = QFileDialog::getOpenFileName(this,"打开文件");
QFile file(fileName);
if(!file.open(QIODevice::ReadOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法打开此文件:"+file.errorString());
return;
}
currentFile = fileName;
setWindowTitle(fileName);
QTextStream in(&file);
QString text = in.readAll();
ui->textEdit->setText(text);
file.close();
}
//mainwindow.cpp
#include "QFileDialog"
#include "QMessageBox"
//打开文件
void MainWindow::on_open_file_triggered()
{
QString fileName = QFileDialog::getOpenFileName(this,"打开文件");
QFile file(fileName);
if(!file.open(QIODevice::ReadOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法打开此文件:"+file.errorString());
return;
}
currentFile = fileName;
setWindowTitle(fileName);
QTextStream in(&file);
QString text = in.readAll();
ui->textEdit->setText(text);
file.close();
}
//mainwindow.cpp
#include "QFileDialog"
#include "QMessageBox"
//保存文件
void MainWindow::on_save_file_triggered()
{
QString fileName;
if(currentFile.isEmpty()){
fileName =QFileDialog::getSaveFileName(this,"保存文件");
currentFile =fileName;
}else{
fileName =currentFile;
}
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法保存文件:"+file.errorString());
return;
}
setWindowTitle(fileName);
QTextStream out(&file);
QString text =ui->textEdit->toHtml();
out<<text;
file.close();
}
//mainwindow.cpp
#include "QFileDialog"
#include "QMessageBox"
//保存文件
void MainWindow::on_save_file_triggered()
{
QString fileName;
if(currentFile.isEmpty()){
fileName =QFileDialog::getSaveFileName(this,"保存文件");
currentFile =fileName;
}else{
fileName =currentFile;
}
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法保存文件:"+file.errorString());
return;
}
setWindowTitle(fileName);
QTextStream out(&file);
QString text =ui->textEdit->toHtml();
out<<text;
file.close();
}
//mainwindow.cpp
#include "QFileDialog"
#include "QMessageBox"
//另存为
void MainWindow::on_save_as_triggered()
{
QString fileName=QFileDialog::getSaveFileName(this,"另存文件");
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法保存文件:"+file.errorString());
return;
}
currentFile =fileName;
setWindowTitle(fileName);
QTextStream out(&file);
QString text =ui->textEdit->toHtml();
out<<text;
file.close();
}
//mainwindow.cpp
#include "QFileDialog"
#include "QMessageBox"
//另存为
void MainWindow::on_save_as_triggered()
{
QString fileName=QFileDialog::getSaveFileName(this,"另存文件");
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法保存文件:"+file.errorString());
return;
}
currentFile =fileName;
setWindowTitle(fileName);
QTextStream out(&file);
QString text =ui->textEdit->toHtml();
out<<text;
file.close();
}
//mainwindow.cpp
//复制
void MainWindow::on_copy_triggered()
{
ui->textEdit->copy();
}
//粘贴
void MainWindow::on_paste_triggered()
{
ui->textEdit->paste();
}
//剪切
void MainWindow::on_cut_triggered()
{
ui->textEdit->cut();
}
//mainwindow.cpp
//复制
void MainWindow::on_copy_triggered()
{
ui->textEdit->copy();
}
//粘贴
void MainWindow::on_paste_triggered()
{
ui->textEdit->paste();
}
//剪切
void MainWindow::on_cut_triggered()
{
ui->textEdit->cut();
}
//mainwindow.cpp
//斜体
void MainWindow::on_italics_triggered(bool italics)
{
ui->textEdit->setFontItalic(italics);
}
//下划线
void MainWindow::on_underline_triggered(bool underline)
{
ui->textEdit->setFontUnderline(underline);
}
//加粗
void MainWindow::on_bolder_triggered(bool bolder)
{
ui->textEdit->setFontWeight(bolder?QFont::Bold:QFont::Normal);
}
//mainwindow.cpp
//斜体
void MainWindow::on_italics_triggered(bool italics)
{
ui->textEdit->setFontItalic(italics);
}
//下划线
void MainWindow::on_underline_triggered(bool underline)
{
ui->textEdit->setFontUnderline(underline);
}
//加粗
void MainWindow::on_bolder_triggered(bool bolder)
{
ui->textEdit->setFontWeight(bolder?QFont::Bold:QFont::Normal);
}
//mainwindow.cpp
//撤销
void MainWindow::on_undo_triggered()
{
ui->textEdit->undo();
}
//取消撤销
void MainWindow::on_redo_triggered()
{
ui->textEdit->redo();
}
//mainwindow.cpp
//撤销
void MainWindow::on_undo_triggered()
{
ui->textEdit->undo();
}
//取消撤销
void MainWindow::on_redo_triggered()
{
ui->textEdit->redo();
}
//mainwindow.cpp
#include "QFontDialog"
//字体
void MainWindow::on_font_triggered()
{
bool fontSelected;
QFont font = QFontDialog::getFont(&fontSelected,this);
if(fontSelected){
ui->textEdit->setFont(font);
}
}
//mainwindow.cpp
#include "QFontDialog"
//字体
void MainWindow::on_font_triggered()
{
bool fontSelected;
QFont font = QFontDialog::getFont(&fontSelected,this);
if(fontSelected){
ui->textEdit->setFont(font);
}
}
//demo_notepad.pro
qtHaveModule(printsupport): QT+=printsupport
//demo_notepad.pro
qtHaveModule(printsupport): QT+=printsupport
//mainwindow.cpp
#if defined(QT_PRINTSUPPORT_LIB)
#include <QtPrintSupport/qtprintsupportglobal.h>
#if QT_CONFIG(printer)
#if QT_CONFIG(printdialog)
#include <QPrintDialog>
#endif
#include <QPrinter>
#endif
#endif
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
#if !QT_CONFIG(printer)
ui->print->setEnabled(false);
#endif
}
//打印
void MainWindow::on_print_triggered()
{
#if defined(QT_PRINTSUPPORT_LIB) && QT_CONFIG(printer)
QPrinter printDev;
#if QT_CONFIG(printdialog)
QPrintDialog dialog(&printDev,this);
if(dialog.exec()==QDialog::Rejected)
return;
#endif
ui->textEdit->print(&printDev);
#endif
}
//mainwindow.cpp
#if defined(QT_PRINTSUPPORT_LIB)
#include <QtPrintSupport/qtprintsupportglobal.h>
#if QT_CONFIG(printer)
#if QT_CONFIG(printdialog)
#include <QPrintDialog>
#endif
#include <QPrinter>
#endif
#endif
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
#if !QT_CONFIG(printer)
ui->print->setEnabled(false);
#endif
}
//打印
void MainWindow::on_print_triggered()
{
#if defined(QT_PRINTSUPPORT_LIB) && QT_CONFIG(printer)
QPrinter printDev;
#if QT_CONFIG(printdialog)
QPrintDialog dialog(&printDev,this);
if(dialog.exec()==QDialog::Rejected)
return;
#endif
ui->textEdit->print(&printDev);
#endif
}
//关于
void MainWindow::on_about_triggered()
{
QMessageBox::about(this,"这是我的Notepad!","这是我的Notepad,欢迎学习和使用!");
}
//退出
void MainWindow::on_exit_triggered()
{
QCoreApplication::exit();
}
//关于
void MainWindow::on_about_triggered()
{
QMessageBox::about(this,"这是我的Notepad!","这是我的Notepad,欢迎学习和使用!");
}
//退出
void MainWindow::on_exit_triggered()
{
QCoreApplication::exit();
}
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_new_file_triggered();
void on_open_file_triggered();
void on_save_file_triggered();
void on_save_as_triggered();
void on_paste_triggered();
void on_cut_triggered();
void on_copy_triggered();
void on_italics_triggered(bool italics);
void on_underline_triggered(bool underline);
void on_bolder_triggered(bool bolder);
void on_font_triggered();
void on_about_triggered();
void on_undo_triggered();
void on_redo_triggered();
void on_exit_triggered();
void on_print_triggered();
void on_clear_history_triggered();
private:
Ui::MainWindow *ui;
QString currentFile;
};
#endif // MAINWINDOW_H
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_new_file_triggered();
void on_open_file_triggered();
void on_save_file_triggered();
void on_save_as_triggered();
void on_paste_triggered();
void on_cut_triggered();
void on_copy_triggered();
void on_italics_triggered(bool italics);
void on_underline_triggered(bool underline);
void on_bolder_triggered(bool bolder);
void on_font_triggered();
void on_about_triggered();
void on_undo_triggered();
void on_redo_triggered();
void on_exit_triggered();
void on_print_triggered();
void on_clear_history_triggered();
private:
Ui::MainWindow *ui;
QString currentFile;
};
#endif // MAINWINDOW_H
//mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include "QFileDialog"
#include "QMessageBox"
#include "QFontDialog"
#if defined(QT_PRINTSUPPORT_LIB)
#include <QtPrintSupport/qtprintsupportglobal.h>
#if QT_CONFIG(printer)
#if QT_CONFIG(printdialog)
#include <QPrintDialog>
#endif
#include <QPrinter>
#endif
#endif
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setCentralWidget(ui->textEdit);
#if !QT_CONFIG(printer)
ui->print->setEnabled(false);
#endif
}
MainWindow::~MainWindow()
{
delete ui;
}
//新建文件
void MainWindow::on_new_file_triggered()
{
qDebug()<<"Start Create New File ...";
currentFile.clear();
ui->textEdit->setText("");
}
//打开文件
void MainWindow::on_open_file_triggered()
{
QString fileName = QFileDialog::getOpenFileName(this,"打开文件");
QFile file(fileName);
if(!file.open(QIODevice::ReadOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法打开此文件:"+file.errorString());
return;
}
currentFile = fileName;
setWindowTitle(fileName);
QTextStream in(&file);
QString text = in.readAll();
ui->textEdit->setText(text);
file.close();
}
//保存文件
void MainWindow::on_save_file_triggered()
{
QString fileName;
if(currentFile.isEmpty()){
fileName =QFileDialog::getSaveFileName(this,"保存文件");
currentFile =fileName;
}else{
fileName =currentFile;
}
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法保存文件:"+file.errorString());
return;
}
setWindowTitle(fileName);
QTextStream out(&file);
QString text =ui->textEdit->toHtml();
out<<text;
file.close();
}
//另存为
void MainWindow::on_save_as_triggered()
{
QString fileName=QFileDialog::getSaveFileName(this,"另存文件");
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法保存文件:"+file.errorString());
return;
}
currentFile =fileName;
setWindowTitle(fileName);
QTextStream out(&file);
QString text =ui->textEdit->toHtml();
out<<text;
file.close();
}
//复制
void MainWindow::on_copy_triggered()
{
ui->textEdit->copy();
}
//粘贴
void MainWindow::on_paste_triggered()
{
ui->textEdit->paste();
}
//剪切
void MainWindow::on_cut_triggered()
{
ui->textEdit->cut();
}
//斜体
void MainWindow::on_italics_triggered(bool italics)
{
ui->textEdit->setFontItalic(italics);
}
//下划线
void MainWindow::on_underline_triggered(bool underline)
{
ui->textEdit->setFontUnderline(underline);
}
//加粗
void MainWindow::on_bolder_triggered(bool bolder)
{
ui->textEdit->setFontWeight(bolder?QFont::Bold:QFont::Normal);
}
//撤销
void MainWindow::on_undo_triggered()
{
ui->textEdit->undo();
}
//取消撤销
void MainWindow::on_redo_triggered()
{
ui->textEdit->redo();
}
//字体
void MainWindow::on_font_triggered()
{
bool fontSelected;
QFont font = QFontDialog::getFont(&fontSelected,this);
if(fontSelected){
ui->textEdit->setFont(font);
}
}
//打印
void MainWindow::on_print_triggered()
{
#if defined(QT_PRINTSUPPORT_LIB) && QT_CONFIG(printer)
QPrinter printDev;
#if QT_CONFIG(printdialog)
QPrintDialog dialog(&printDev,this);
if(dialog.exec()==QDialog::Rejected)
return;
#endif
ui->textEdit->print(&printDev);
#endif
}
//关于
void MainWindow::on_about_triggered()
{
QMessageBox::about(this,"这是我的Notepad!","这是我的Notepad,欢迎学习和使用!");
}
//退出
void MainWindow::on_exit_triggered()
{
QCoreApplication::exit();
}
//mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include "QFileDialog"
#include "QMessageBox"
#include "QFontDialog"
#if defined(QT_PRINTSUPPORT_LIB)
#include <QtPrintSupport/qtprintsupportglobal.h>
#if QT_CONFIG(printer)
#if QT_CONFIG(printdialog)
#include <QPrintDialog>
#endif
#include <QPrinter>
#endif
#endif
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setCentralWidget(ui->textEdit);
#if !QT_CONFIG(printer)
ui->print->setEnabled(false);
#endif
}
MainWindow::~MainWindow()
{
delete ui;
}
//新建文件
void MainWindow::on_new_file_triggered()
{
qDebug()<<"Start Create New File ...";
currentFile.clear();
ui->textEdit->setText("");
}
//打开文件
void MainWindow::on_open_file_triggered()
{
QString fileName = QFileDialog::getOpenFileName(this,"打开文件");
QFile file(fileName);
if(!file.open(QIODevice::ReadOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法打开此文件:"+file.errorString());
return;
}
currentFile = fileName;
setWindowTitle(fileName);
QTextStream in(&file);
QString text = in.readAll();
ui->textEdit->setText(text);
file.close();
}
//保存文件
void MainWindow::on_save_file_triggered()
{
QString fileName;
if(currentFile.isEmpty()){
fileName =QFileDialog::getSaveFileName(this,"保存文件");
currentFile =fileName;
}else{
fileName =currentFile;
}
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法保存文件:"+file.errorString());
return;
}
setWindowTitle(fileName);
QTextStream out(&file);
QString text =ui->textEdit->toHtml();
out<<text;
file.close();
}
//另存为
void MainWindow::on_save_as_triggered()
{
QString fileName=QFileDialog::getSaveFileName(this,"另存文件");
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly|QFile::Text)){
QMessageBox::warning(this,"警告","无法保存文件:"+file.errorString());
return;
}
currentFile =fileName;
setWindowTitle(fileName);
QTextStream out(&file);
QString text =ui->textEdit->toHtml();
out<<text;
file.close();
}
//复制
void MainWindow::on_copy_triggered()
{
ui->textEdit->copy();
}
//粘贴
void MainWindow::on_paste_triggered()
{
ui->textEdit->paste();
}
//剪切
void MainWindow::on_cut_triggered()
{
ui->textEdit->cut();
}
//斜体
void MainWindow::on_italics_triggered(bool italics)
{
ui->textEdit->setFontItalic(italics);
}
//下划线
void MainWindow::on_underline_triggered(bool underline)
{
ui->textEdit->setFontUnderline(underline);
}
//加粗
void MainWindow::on_bolder_triggered(bool bolder)
{
ui->textEdit->setFontWeight(bolder?QFont::Bold:QFont::Normal);
}
//撤销
void MainWindow::on_undo_triggered()
{
ui->textEdit->undo();
}
//取消撤销
void MainWindow::on_redo_triggered()
{
ui->textEdit->redo();
}
//字体
void MainWindow::on_font_triggered()
{
bool fontSelected;
QFont font = QFontDialog::getFont(&fontSelected,this);
if(fontSelected){
ui->textEdit->setFont(font);
}
}
//打印
void MainWindow::on_print_triggered()
{
#if defined(QT_PRINTSUPPORT_LIB) && QT_CONFIG(printer)
QPrinter printDev;
#if QT_CONFIG(printdialog)
QPrintDialog dialog(&printDev,this);
if(dialog.exec()==QDialog::Rejected)
return;
#endif
ui->textEdit->print(&printDev);
#endif
}
//关于
void MainWindow::on_about_triggered()
{
QMessageBox::about(this,"这是我的Notepad!","这是我的Notepad,欢迎学习和使用!");
}
//退出
void MainWindow::on_exit_triggered()
{
QCoreApplication::exit();
}
1142

被折叠的 条评论
为什么被折叠?



