qt文件操作

 对话框练习

#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_ztbtn_clicked()
{
    //调用QFontDialog类中的成员函数, 字体对话框、
    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_ysbtn_clicked()
{
    QColor c = QColorDialog::getColor(QColor("white"),
                                      this,
                                      "选择颜色");
    if(c.isValid())
    {
        //ui->textEdit->setTextColor(c);
        ui->textEdit->setTextBackgroundColor(c);
    }else
    {
        QMessageBox::information(this,"提示","取消选择");
    }
}

//打开文件    槽
void Widget::on_dkbtn_clicked()
{
    //调用静态成员函数获取选中路径
    QString fileName = QFileDialog::getOpenFileName(this,                          //父组件
                                                    "选择文件",                      //对话框标题
                                                    "./",                          //起始路径
                             "Image File(*.png *.jpg *.bmp);;Text File(*.txt);;All(*.*)"); //过滤器
    if(fileName.isNull())
    {
        QMessageBox::information(this,"提示","取消文件");
        return ;
    }

    //输出文件路径
    qDebug() << fileName;

    //实例化一个文件对象
    QFile file(fileName);      //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都基于该对象

    //判断文件是否存在
    if(!file.exists())
        return;

    //打开文件
    if(!file.open(QFile::ReadWrite))
        return;

    //读取文件中的内容
    QByteArray msg = file.readAll();

    //将内容展示到ui界面
    ui->textEdit->setText(QString::fromLocal8Bit(msg));

    //获取文本编辑器的内容
   //ui->textEdit->toPlainText();
}

void Widget::on_bcbtn_clicked()
{
    //调用静态成员函数获取选中路径
    QString fileName = QFileDialog::getSaveFileName(this,                          //父组件
                                                    "保存",                      //对话框标题
                                                    "./",                          //起始路径
                             "Image File(*.png *.jpg *.bmp);;Text File(*.txt);;All(*.*)"); //过滤器
    if(fileName.isNull())
    {
        QMessageBox::information(this,"提示","取消文件");
        return ;
    }

    //输出文件路径
    qDebug() << fileName;

    //实例化一个文件对象
    QFile file(fileName);      //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都基于该对象

    //判断文件是否存在
    if(!file.exists())
        return;

    //打开文件
    if(!file.open(QFile::ReadWrite))
        return;

//    //读取文件中的内容
   //QByteArray msg = file.readAll();
    //获取文本编辑器的内容
    QString msg = ui->textEdit->toPlainText();


    //将内容展示到ui界面
   //ui->textEdit->setText(QString::fromLocal8Bit(msg));

    file.write(msg.toUtf8());

    file.close();
}

移动目标

#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() << "键盘被按下了" << event->text() << "键值: " << event->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()-3);
        }
        break;
        case 'S':
        {
            if(ui->label->y()>=this->height())
            {
             ui->label->move(ui->label->x(),0-ui->label->height());
            }
            ui->label->move(ui->label->x(),ui->label->y()+3);
        }
        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()-3,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()+3,ui->label->y());
        }
        break;
    }
}

XMind

qt文件操作_第1张图片

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