目录
一、思维导图
二、作业
2.1 使用文件相关操作完成记事本的保存功能
2.2 处理键盘事件完成圆形的移动
一、思维导图
二、作业
2.1 使用文件相关操作完成记事本的保存功能
void Widget::on_saveBtn_clicked()
{QString filename = QFileDialog::getSaveFileName(this,"选择文件","./","Text File(*.txt)");if(filename.isNull()){QMessageBox::information(this,"提示","您取消了保存文件");}//输出文件路径qDebug()<<filename;//1、判断文件是否存在QFile file(filename);if(!file.open(QFile::WriteOnly)){QMessageBox::information(this,"提示","打开文件失败");return;}//2、获取文本编辑器中的内容QString s = ui->textEdit->toPlainText();QByteArray msg;msg.append(s);//3、将数据写入文件file.write(msg);//4、关闭文件file.close();
}
2.2 处理键盘事件完成圆形的移动
//键盘按下事件处理函数的定义
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()-10);}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()+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;}
}