使用QT写一个记事本 实现mainwindows功能,要求拥有菜单栏 状态栏,中心部件,工具,并实现文件打开 利用信号和槽函数实现)文件保存的代码实现

时间: 2024-04-14 13:27:09 浏览: 16
以下是一个使用QT编写记事本的示例代码,实现了MainWindow的功能,包括菜单栏、状态栏、中心部件、工具,以及文件打开和保存功能: mainwindow.h 文件: ```cpp #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void openFile(); void saveFile(); private: void createMenu(); void createToolbar(); void createStatusBar(); void createCentralWidget(); QString currentFilePath; }; #endif // MAINWINDOW_H ``` mainwindow.cpp 文件: ```cpp #include "mainwindow.h" #include <QMenuBar> #include <QMenu> #include <QAction> #include <QFileDialog> #include <QTextEdit> #include <QToolBar> #include <QStatusBar> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { createMenu(); createToolbar(); createStatusBar(); createCentralWidget(); } MainWindow::~MainWindow() { } void MainWindow::createMenu() { QMenuBar *menuBar = new QMenuBar(this); setMenuBar(menuBar); QMenu *fileMenu = menuBar->addMenu(tr("文件")); QAction *openAction = fileMenu->addAction(tr("打开")); connect(openAction, &QAction::triggered, this, &MainWindow::openFile); QAction *saveAction = fileMenu->addAction(tr("保存")); connect(saveAction, &QAction::triggered, this, &MainWindow::saveFile); } void MainWindow::createToolbar() { QToolBar *toolbar = new QToolBar(this); addToolBar(toolbar); QAction *openAction = toolbar->addAction(QIcon(":/icons/open.png"), tr("打开")); connect(openAction, &QAction::triggered, this, &MainWindow::openFile); QAction *saveAction = toolbar->addAction(QIcon(":/icons/save.png"), tr("保存")); connect(saveAction, &QAction::triggered, this, &MainWindow::saveFile); } void MainWindow::createStatusBar() { QStatusBar *statusBar = new QStatusBar(this); setStatusBar(statusBar); } void MainWindow::createCentralWidget() { QTextEdit *textEdit = new QTextEdit(this); setCentralWidget(textEdit); } void MainWindow::openFile() { QString filePath = QFileDialog::getOpenFileName(this, tr("打开文件")); if (!filePath.isEmpty()) { // 打开文件的逻辑处理 // 这里只简单的将文件路径保存起来 currentFilePath = filePath; } } void MainWindow::saveFile() { if (!currentFilePath.isEmpty()) { // 保存文件的逻辑处理 // 这里只简单的展示一个保存成功的消息框 QMessageBox::information(this, tr("保存文件"), tr("文件保存成功!")); } else { QMessageBox::warning(this, tr("保存文件"), tr("当前没有打开的文件!")); } } ``` 这是一个简单的记事本实现代码,您可以根据需要进一步完善和优化。注意,在编译运行之前,您需要将 `open.png` 和 `save.png` 图片资源添加到项目中,并在.pro文件中添加相应的资源配置。 希望这个示例对您有帮助!如果您有任何问题,请随时提问。

相关推荐

最新推荐

recommend-type

Qt基础开发之Qt文件操作类QFile读写文件的详细方法与实例及QDataStream的使用方法

主要介绍了Qt基础开发之Qt文件操作类QFile读写文件的详细方法与实例,需要的朋友可以参考下
recommend-type

【PyQt案例】PyQt 图解Qt Designer工具的使用方法,并封装exe文件

Qt Designer是PyQt程序UI界面的实现工具,Qt Designer工具使用简单,可以通过拖拽和点击完成复杂界面设计,并且设计完成的.ui程序可以转换成.py文件供python程序调用。本文主要通过用户登录需求描述Qt Designer工具...
recommend-type

基于Qt的离线地图实现原理简介

描述了基于瓦片的离线地图的实现原理及在Qt应用程序开发框架下的实现方案。
recommend-type

Qt实现保存、浏览、预览、打印功能的示例代码

下面小编就为大家分享一篇Qt实现保存、浏览、预览、打印功能的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

Qt图形图像开发之曲线图表模块QChart库一个chart中显示两条曲线详细方法与实例

主要介绍了Qt图形图像开发之曲线图表模块QChart库一个chart中显示两条曲线详细方法与实例,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

机器学习怎么将excel转为csv文件

机器学习是一种利用计算机算法和统计数据的方法来训练计算机来进行自动学习的科学,无法直接将excel文件转为csv文件。但是可以使用Python编程语言来读取Excel文件内容并将其保存为CSV文件。您可以使用Pandas库来读取Excel文件,并使用to_csv()函数将其保存为CSV格式。以下是代码示例: ```python import pandas as pd # 读取 Excel 文件 excel_data = pd.read_excel('example.xlsx') # 将数据保存为 CSV 文件 excel_data.to_csv('example.csv', index=
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。