QTday3作业

文件编辑器的简单功能实现

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

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


//字体按钮对应槽函数
void Widget::on_btn1_clicked()
{
    //调用QFontDialog类中的静态函数,getFont函数调取系统提供的字体对话框
    bool ok;     //用于接收用户是否选中了字体
    //返回是否选中字体
    QFont f = QFontDialog::getFont(&ok,
                         QFont("隶书",10,10,false),//初始字体
                         this, //父组件
                         "选择字体");//对话框标题
    //将选中的字体进行使用
    if(ok)
    {
        //选中字体,将其设置到文本上
        ui->textEdit->setFont(f);//全换
       // ui->textEdit->setCurrentFont(f);//选中的换
    }
    else
    {
        //没选中
        QMessageBox::information(this,"提示","你取消了选择字体");
    }
}


//颜色按钮
void Widget::on_btn3_clicked()
{
    //调用静态成员,获取系统中的颜色对话框
    QColor c = QColorDialog::getColor(("pink"),//初始颜色
                                      this,//父组件
                                      "选择颜色");//对话框标题
    //对选中的颜色判断是否合法
    if(c.isValid())
    {
        //合法,直接使用字体颜色
        ui->textEdit->setTextColor(c);
        //背景色
      //  ui->textEdit->setTextBackgroundColor(c);

    }
    else
    {
        //不合法
        QMessageBox::information(this,
                                 "提示",
                                 "你取消了选择的颜色");
    }

}


//打开文件按钮对应
void Widget::on_btn2_clicked()
{
    //调用静态成员函数getOpenFileName来获取选中的文件路径
    QString fileName = QFileDialog::getOpenFileName(this,//父组件
                                                    "选择文件",//对话框标题
                                                    "./",//起始路径
     "Image file(*.png *.jpg *.bmp);;Text File(*.txt);;All(*.*)" );//过滤器

    //判断是否选中文件
    if(fileName.isNull())
    {
        QMessageBox::information(this,"提示","你取消了选择文件");
        return;
    }
    //输出路径
    qDebug()<textEdit->setText(QString::fromLocal8Bit(msg));
    ui->textEdit->setText(msg);
    //关闭文件
    file.close();
}


// 保存按钮
void Widget::on_btn4_clicked()
{
    // //调用静态成员函数getOpenFileName来获取选中的文件路径
    QString fileName = QFileDialog::getSaveFileName(this,//父组件
                                                    "选择文件",//对话框标题
                                                    "./",//起始路径
     "Image file(*.png *.jpg *.bmp);;Text File(*.txt);;All(*.*)" );//过滤器

    //判断是否选中文件
    if(fileName.isNull())
    {
        QMessageBox::information(this,"提示","你取消了保存文件");
        return;
    }
    //输出路径
    qDebug()<textEdit->toPlainText();

    //
    //将文本编辑器内容写入文件中

        file.write(msg.toUtf8());
       QMessageBox::information(this,"提示","保存文件成功");

    //关闭文件
    file.close();
}

QTday3作业_第1张图片键盘事件

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

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

void Widget::keyPressEvent(QKeyEvent *event)
{
    //
    qDebug()<<"aaaaaa按下键盘"<text()<key();
//
    switch (event->key())
    {
        case 'W':
        {
          if(ui->label->y() <= 0-ui->label->height())
          {
            ui->label->move(ui->label->x(),this->height());
          }
          ui->label->move(ui->label->x(),ui->label->y()-10);
        }
        break;

    case 'S':
    {
      if(ui->label->y() >= this->y()+ui->label->height())
      {
        ui->label->move(ui->label->x(),0);
      }
      ui->label->move(ui->label->x(),ui->label->y()+10);
    }
    break;

    case 'A':
    {
      if(ui->label->x() <= 0-ui->label->width())
      {
        ui->label->move(this->width(),ui->label->y());
      }
      ui->label->move(ui->label->x()-10,ui->label->y());
    }
    break;
    case 'D':
    {
      if(ui->label->x() >= this->width())
      {
        ui->label->move(0-ui->label->width(),ui->label->y());
      }
      ui->label->move(ui->label->x()+10,ui->label->y());
    }
    break;
    }


}

QTday3作业_第2张图片

QTday3作业_第3张图片

你可能感兴趣的:(c++,开发语言,qt)