一个简单的文本
来源:互联网 发布:如何把淘宝网店关闭 编辑:程序博客网 时间:2024/06/07 05:02
在官网的Document的指导下,完成一个简单的文本操作。
具体要完成的功能
具备打开/保存/退出简单的功能
步骤1:在头文件中声明需要的控件 slots
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include<QtGui>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
~MainWindow();
private slots:
void exit();
void save();
void open();
private:
QTextEdit *textEdit;
QAction *openAction;
QAction *saveAction;
QAction *exitAction;
QMenu *menu;
};
#endif // MAINWINDOW_H
步骤2 对头文件中声明的控件,slots进行相应的操作
#include "mainwindow.h"
MainWindow::MainWindow()
{
textEdit = new QTextEdit;
setCentralWidget(textEdit);
openAction=new QAction(tr("&open"),this);
saveAction=new QAction(tr("&save"),this);
exitAction=new QAction(tr("&exit"),this);
connect(openAction,SIGNAL(triggered()),this,SLOT(open()));
connect(saveAction,SIGNAL(triggered()),this,SLOT(save()));
connect(exitAction,SIGNAL(triggered()),this,SLOT(exit()));
menu=menuBar()->addMenu(tr("&File"));
menu->addAction(openAction);
menu->addSeparator();
menu->addAction(saveAction);
menu->addSeparator();
menu->addAction(exitAction);
}
void MainWindow::open()
{
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "",
tr("Text Files (*.txt);;C++ Files (*.cpp *.h)"));
if (fileName != "") {
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly)) {
QMessageBox::critical(this, tr("Error"),
tr("Could not open file"));
return;
}
QString contents = file.readAll().constData();
textEdit->setPlainText(contents);
file.close();
}
}
void MainWindow::save()
{
QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), "",
tr("Text Files (*.txt);;C++ Files (*.cpp *.h)"));
if (fileName != "") {
QFile file(fileName);
if (!file.open(QIODevice::WriteOnly)) {
// error message
} else {
QTextStream stream(&file);
stream << textEdit->toPlainText();
stream.flush();
file.close();
}
}
}
void MainWindow::exit()
{
QMessageBox messageBox;
messageBox.setWindowTitle(tr("Notepad"));
messageBox.setText(tr("Do you really want to quit?"));
messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
messageBox.setDefaultButton(QMessageBox::No);
if (messageBox.exec() == QMessageBox::Yes)
qApp->quit();
}
MainWindow::~MainWindow()
{
}
- 一个简单的文本
- 一个简单的文本编辑器
- 一个简单的文本编辑器
- 一个简单的文本编辑器
- 很简单的一个在线文本编辑器
- 2.构建一个简单的文本编辑器
- wxPython构建一个简单的文本编辑器
- 3.构建一个简单的文本编辑器
- 2.构建一个简单的文本编辑器
- 创建一个简单的文本图片聊天工具
- 一个简单文本操作
- Excel:一个连接文本的简单的方法
- 2. 一个简单的Servlet--产生存文本下面是一个产生存文本的简单servlet的实例
- 我做的一个java简单文本编辑器代码
- Unix-C 一个非常简单的文本编辑器
- 一个简单的 C++ Log文本输出类
- 使用Eric4+PyQt4制作一个简单的文本编辑器
- 一个简单实用的文本分类步骤说明[firefly]
- 写代码如坐禅:你是哪一类程序员?
- android 4.0 NetworkOnMainThreadException
- 微软101道经典面试题
- 无法从"int?"转换为"int"
- 集线器,路由器,交换机的作用和区别是什么
- 一个简单的文本
- android 图形系统
- adc与触摸屏调试记录
- 路由器,集线器,交换机
- CentOS修改mac
- Linux的IO端口和IO内存
- 2012百度之星资格赛试题与AC代码
- 将日志文件转储到DUMP文件
- C++语言复习五