#include "notepad.h"
#include "ui_notepad.h"
#include <QFileDialog>
#include <QMessageBox>
#include <QFile>
#include <QDebug>
NotePad::NotePad(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::NotePad)
{
ui->setupUi(this);
connect(ui->newAction, &QAction::triggered, this, &NotePad::newFileActionSlot );
connect(ui->openAction, &QAction::triggered, this, &NotePad::openFileActionSlot );
connect(ui->saveAction, &QAction::triggered, this, &NotePad::saveFileActionSlot );
}
NotePad::~NotePad()
{
delete ui;
}
void NotePad::newFileActionSlot(){
ui->textEdit->clear();
ui->textEdit->setWindowTitle("new file");
}
void NotePad::openFileActionSlot(){
// QFileDialog::getOpenFileName用于打开一个框,选择文件
// 返回值是对应的文件名称
// QCoreApplication::applicationFilePath获取当前应用目录
QString fileName = QFileDialog::getOpenFileName(this, "打开一个文件 ", QCoreApplication::applicationFilePath(), "*.cpp");
if (fileName.isEmpty()) {
QMessageBox::warning(this, "警告 ", "请打开一个文件 ");
}
else {
QFile file(fileName);
file.open(QIODevice::ReadOnly);
QByteArray ba = file.readAll();
ui->textEdit->setText(QString(ba));
file.close();
}
}
void NotePad::saveFileActionSlot(){
QString fileName = QFileDialog::getSaveFileName(this, "保存一个文件 ", QCoreApplication::applicationFilePath());
if (fileName.isEmpty()) {
QMessageBox::warning(this, "警告 ", "请保存一个文件 ");
}
else {
// toPlainText获取textEdit中的文本
QString text = ui->textEdit->toPlainText();
QFile file(fileName);
// 文件的读取和写入都是QByteArray对象
// QByteArray转QString ,QString有对应构造函数
// QString转QByteArray, QByteArray对象有append方法
file.open(QIODevice::WriteOnly);
QByteArray ba;
ba.append(text);
file.write(ba) ;
file.close();
}
}
void NotePad::keyPressEvent(QKeyEvent* event){
// 使用快捷键实现文件的保存
if (event->modifiers() == Qt::ControlModifier && event->key() == Qt::Key_S){
saveFileActionSlot();
}
}
void NotePad::mousePressEvent(QMouseEvent* event){
QPoint pt = event->pos();
qDebug()<<pt;
if (event->button() == Qt::LeftButton){
qDebug()<<"left button";
}
else if (event->button() == Qt::RightButton){
qDebug()<<"right button";
}
}
相关推荐
使用QT做一个简易记事本功能保存,复制,粘贴,打开
QT简易记事本保存,复制,粘贴,打开,显示行号列号
qt学习:实战 记事本 + 快捷键 + 鼠标滚轮 + 打开读取写入关闭文件
在.h里public:QFile file;//文件描述符//增加当前字体大小函数//减小当前字体大小函数//在用户按下 Ctrl 键的同时滚动鼠标滚轮时,执行放大或缩小操作//槽函数//多选框变化后发出信号绑定槽函数来改变编码//编辑框的光标位置发生变化时发出信号绑定槽函数来改变对应有多少字符多少行。
基于QT的简易记事本应用设计
QT是一个跨平台的C++应用程序开发框架,广泛应用于GUI程序的开发。它提供了一套丰富的API,包括窗口部件(widgets)、图形视图、网络通信、数据库访问、多媒体和测试等模块。QT支持多种操作系统,包括Windows、macOS、Linux以及嵌入式系统,使得开发者可以编写一次代码,然后在不同的平台上编译和运行。文件操作是应用程序与文件系统交互的基本方式,它涉及数据的创建、读取、写入和删除等操作。
QT—记事本项目
QComboBox 提供了一系列方法来添加、删除和修改列表中的项,支持通过索引或文本检索项,并可以通过信号和槽机制来响应用户的选择变化。获取用户在QComboBox上选择的字符编码,用特定编码打开文件,这里注意QComboBox返回QString类型,使用QTextEdit的cursorPositionChanged信号,当光标发生移动时候刷新显示。它允许用户从一组选项中选择一个选项,并可以配置为可编辑,使用户能够在其中输入文本。判断当下是否有已经打开的文件,如果有打开的文件。文件是否打开,打开就关闭;
QT框架下的简易记事本应用开发指南
跨平台应用程序开发一直是软件开发领域的热点话题。随着技术的进步,开发者们渴望有一种能够在一个代码库上为多个操作系统构建应用程序的方法。QT框架以其独特的跨平台能力在众多框架中脱颖而出。QT(又称Qt)是一个跨平台的C++应用程序框架,广泛用于开发图形用户界面应用程序以及跨平台的应用程序。它提供了丰富的控件和模块,能够高效地构建美观、一致的用户体验。Qt不仅在桌面应用开发中表现突出,还支持移动平台和嵌入式系统,成为开发者在多平台下开发应用程序的首选工具之一。
基于Qt5.0的简易记事本开发实战项目
在完成Qt基础组件的学习与功能实现后,我们将所有知识点整合到一个完整的桌面应用程序——简易记事本(Simple Notepad)中。该项目以为核心窗口,集成QTextEdit作为文本编辑区域,通过QMenuBar和QToolBar提供用户交互入口,并借助QFile等类实现文件的打开、保存与另存为功能。整个项目的模块结构如下表所示:模块功能描述使用的核心类主窗口管理构建主界面框架文本编辑区提供可编辑文本区域。
QT实现简易记事本
QT的Qmainwindow实现简易记事本,不带有UI界面。
基于QT3实现的简易记事本程序设计与开发
在当今软件开发领域,跨平台能力已成为衡量一个开发框架是否具备现代适应性的关键指标。QT作为一款功能强大且成熟的C++图形用户界面应用程序开发框架,凭借其卓越的跨平台支持、丰富的类库以及高效的开发工具链,广泛应用于桌面应用、嵌入式系统和移动终端等多个领域。// 支持多选"Markdown文件 (*.md)","C++源码 (*.cpp *.h)","图像文件 (*.png *.jpg *.bmp)"});// 显示详细信息视图此配置允许用户一次选择多个不同类型文件,适用于批量导入场景。
【Qt学习】一个简易的记事本
QString filename = QFileDialog::getOpenFileName(this, "选择一个文件",QString filename = QFileDialog::getSaveFileName(this, "选择一个文件",QMessageBox::warning(this, "警告", "请选择一个文件");QMessageBox::warning(this, "警告", "请选择一个文件");this->setWindowTitle("新建文本文档.txt");
QT做一个记事本
QT做一个简易记事本,实现新建,保存,另存为,撤销,打开等功能,包含全部QT文件,是实训跟着老师做的,可用
用QT编写的简单记事本程序
这是利用QT3编写的类似于window下的记事本,可实现简单的记事本功能。
qt制作简易记事本
最近在学qt,用qt实现了简易记事本的功能 实现功能如下: 1.新建、打开、保存、另存为、退出; 2.撤销、前进、复制、粘贴、剪切; 3.颜色、字体、下划线、倾斜、黑体的设置; 4.设置居中、左对齐、右对齐; 5.切换记事本背景图片;(ps:部分功能是在Windows现有功能上添加的) 下面是功能截图: 下面放上完整的源代码: main.cpp #include "mainwindow.h" #include <QApplication> int main(int argc, cha
QT简单的记事本
QT简单的记事本,包含新建文件,打开文件,另存为文件,
qt 制作记事本_Qt_Demo_1:实现一个简易的记事本
1 #include "mainwindow.h"2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 ...
QT实现简单记事本
QT实现简单记事本
qt版简易记事本
使用qt5.6.0, 读者可以自行更改为其它版本的qt, 没有使用复杂的其它代码,十分简洁易懂,适合初学者看
qt_简易记事本_1
学习qt,做了一个简易记事本,模仿windows的记事本做的,做一下笔记,顺便复习 也就是一些函数的总结。 有错误 欢迎指正 环境:win 8.1 vs2013 qt5.5 中间的编辑区(文本域)使用的QTextEdit, ////////////////////////////////////////////////////////////////// QTextEdit:多行文本
Dify+firecrawl:一个超好用的网页转Markdown API,打造你的第一个能检索爬虫RAG知识库的聊天机器人
Firecrawl是一个超简单的API服务——你扔给它一个URL,它就能把整个网站(包括子页面!)的内容自动抓下来,并且转换成干净、易读的Markdown格式。不用配置网站的站点地图,不用写爬虫规则,API调一下,数据直接到手。接下来我们一起本地部署吧!
Qt5 简易记事本开发教程
本项目实现了一个简易记事本应用,包含了基本的文件操作和编辑功能。通过本项目的开发,我们学习到了 Qt 的基本界面设计、信号与槽机制、文件操作、事件处理等核心知识点。文本格式设置:支持设置文本的字体、字号、颜色、对齐方式等。查找与替换:支持在文本中查找指定内容,并进行替换。自动保存:定期自动保存文件,避免意外丢失数据。多窗口支持:支持同时打开多个文件,每个文件在独立的窗口中显示。打印功能:支持将文本内容打印出来。
【AI学习笔记】Coze平台实现将Excel文档批量导入数据库全过程
通过Coze平台实现将Excel文档批量导入数据库的全流程,包括B站现有参考教程全方位解读、自己实操的一些BUG解决过程,以及一些疑难问题的探索。
【深度学习】手把手教你在远程服务器上跑 YOLOv3 相关代码(含环境配置)
这篇文章主要记录了如何配置项目环境以及如何在远程服务器上跑 YOLOv3 模型。
833



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



