qt实现记事本基本功能

本文适合初学者学习借鉴,主要是对于一些基本知识的运用,有不足之处欢迎指正!!!

一、建立一个有菜单栏的界面

1.选择后系统会自动生成一个ui文件,双击进入

2.在操作界面中输入你所需要的功能

 3.通过下方的框选择你需要的选型进入槽函数去设置你所需要实现的功能

4.进入槽函数后,实现功能 

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QColorDialog>
#include<QFont>
#include<QFontDialog>
#include<QMessageBox>
#include<QFileDialog>
#include<QStatusBar>
#include<QLabel>
#include<QTextStream>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

//设置字体颜色的槽函数
void MainWindow::on_action_9_triggered()
{
    QColor col(22,22,22);//col中的三个数字可以自行选择
    col=QColorDialog::getColor(col,this,tr("选择你所需要的颜色"));
    if(col.isValid())//判断是否创建此实例
    {
        ui->textEdit->setTextColor(col);//将更改的颜色在text界面上输出
    }
}

//设置字体大小的槽函数
void MainWindow::on_action_10_triggered()
{
    bool ok;
    QFont temp=ui->textEdit->font();
    temp=QFontDialog::getFont(&ok,temp,this,tr("选择字体大小"));
    if(ok)
    {
        ui->textEdit->setFont(temp);
    }
}

//设置新建的槽函数
void MainWindow::on_action_5_triggered()
{
    QMessageBox::information(this,tr("新建"),tr("选择了新建"));
    //弹出一个提示框
}

//设置文件打开的槽函数
void MainWindow::on_action_6_triggered()
{
    QString path=QFileDialog::getOpenFileName(this,tr("打开文件"),"../","*.txt");
    if(!path.isEmpty())
    {
        QFile file(path);
        if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
            return;
        while(!file.atEnd())
        {
           QByteArray line=file.readLine();
           ui->textEdit->setText(line);
        }

    }
    //在状态栏中输出文件路径
    QLabel* pl = new QLabel(path);
    statusBar()->addWidget(pl);
}

//设置文件保存的槽函数
void MainWindow::on_action_7_triggered()
{
    QString path = QFileDialog::getSaveFileName(this,tr("保存"),".",tr("Text Files(*.txt)"));
    if(!path.isEmpty())
    {
       QFile file(path);
       if(!file.open(QIODevice::WriteOnly | QIODevice::Text))
       {
           QMessageBox::warning(this, tr("Write File"),tr("Can't open file:\n%1").arg(path));
           return;
         }
       QTextStream out(&file);
       out << ui->textEdit->toPlainText();
       file.close();
   }
   else
   {
       QMessageBox::warning(this, tr("警告"),tr("你没有选择文件"));
   }
}

void MainWindow::on_action_8_triggered()
{
    QMessageBox::information(this,tr("另存为"),tr("选择了另存为"));
}

具体的槽函数代码都在上述内容中,也都有文字说明,希望对于一些学习基本知识的人有帮助吧!

猜你喜欢

转载自blog.csdn.net/m0_74889801/article/details/128874596