9.1QTday3作业

1 getSaveFileName

//保存文件按钮对应的槽函数
void Widget::on_save_btn_clicked()
{
    //调用QFileDialog的静态成员函数getSaveFileName来获取选中的文件路径
    QString fileName = QFileDialog::getSaveFileName(this,"保存文件","./",
                                 "Image File(*.png *.jpg *.bmp);;Text File(*.txt);;ALL(*.*)");
    if(fileName.isNull())
    {
        QMessageBox::information(this,"提示","您取消了选择文件");
    }

    qDebug() << fileName;

    //1、实例化一个文件对象
    QFile file_w(fileName);

    //、2向文件中写入内容
    //获取文本编辑器中的文本内容 toPlainText()  返回字符串
    QString msg = ui->textEdit->toPlainText();
    file_w.write(msg.toLocal8Bit());  //toLocal8Bit()将字符串转换为字符数组

    //3、关闭文件对象
    file_w.close();
}

2、键盘事件的上下左右操作

void Widget::keyPressEvent(QKeyEvent *Event)
{

    //qDebug()<<"键盘被按下了"<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()-5);
        }
        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()+5);
        }
        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()-5,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()+5,ui->label->y());
        }
        break;
    }
}

3 思维导图

你可能感兴趣的:(qt)