zoukankan      html  css  js  c++  java
  • C++-Qt【2】-实现一个简单的记事本

    用Qt实现一个简单的记事本:

    #include "helloqt.h"
    #include <qfiledialog.h>
    #include <qfile.h>
    #include <qmessagebox.h>
    #include <qtextstream.h>
    #include <qdebug.h>
    
    //#if _MSC_VER >= 1600      
    //#pragma execution_character_set("utf-8")      
    //#endif
    
    HelloQt::HelloQt(QWidget *parent)
        : QMainWindow(parent)
    {
        ui.setupUi(this);
    }
    
    HelloQt::~HelloQt()
    {
    
    }
    
    void HelloQt::on_pushButton_clicked() {
        qDebug() << "new line";
        ui.textEdit->append("你点击了我!");
    }
    
    void HelloQt::on_action_Open_triggered() {
        QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QString(),
            tr("Text Files (*.txt);;C++ Files (*.cpp *.h)"));
    
        if (!fileName.isEmpty()) {
            QFile file(fileName);
            if (!file.open(QIODevice::ReadOnly)) {
                QMessageBox::critical(this, tr("Error"), tr("Could not open file"));
                return;
            }
            QTextStream in(&file);
            ui.textEdit->setText(in.readAll());
            file.close();
        }
    }
    
    void HelloQt::on_action_Save_triggered() {
        QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), QString(),
            tr("Text Files (*.txt);;C++ Files (*.cpp *.h)"));
    
        if (!fileName.isEmpty()) {
            QFile file(fileName);
            if (!file.open(QIODevice::WriteOnly)) {
                // error message
            }
            else {
                QTextStream stream(&file);
                stream << ui.textEdit->toPlainText();
                stream.flush();
                file.close();
            }
        }
    }
    
    void HelloQt::on_action_Exit_triggered() {
        qApp->exit(0);
    }
  • 相关阅读:
    Go语言入门
    简述cookies 和 session
    Linux inode 理解
    BZOJ 1012 最大数maxnumber
    BZOJ 1087 互不侵犯king
    CSS从大图中抠取小图完整教程(background-position应用)
    javascript中i++与++i
    脱离文档流分析
    在Windows上以zip压缩包方式安装mysql
    centos7 python2.7下安装paramiko模块
  • 原文地址:https://www.cnblogs.com/godcity/p/5919777.html
Copyright © 2011-2022 走看看