QT day3

保存:

cpp 复制代码
//保存
void Widget::on_savebtn_clicked()
{
    QString name = QFileDialog::getSaveFileName(this,"保存文件","E:/c/qt3",
                                            "Image File(*.png *.jpg *bmp);;Text File(*.txt);;ALL(*.*)");

    if(name.isNull())
    {
        QMessageBox::information(this,"提示","你取消了保存文件");
        return;
    }
    else
    {
        qDebug()<<name;
        //实例化一个文件对象
        QFile file(name);  //使用获取到的文件路径,实力化一个文件对象
        //判断文件是否纯在
        if(!file.exists())
        {
            return ;
        }
        //打开文件
        if(!file.open(QFile::WriteOnly | QFile::Truncate))
        {
            return ;
        }
        //获取文本编辑器中的内容
        QString msg =ui->textEdit->toPlainText();
        //将文件写入
        qDebug()<<msg;
        QByteArray data = msg.toUtf8();
        file.write(data);
        //关闭文件
        file.close();
    }
}

键盘按下响应

cpp 复制代码
void Widget::keyPressEvent(QKeyEvent *event)//键盘按下
{
    //qDebug()<<"jianpan按下"<<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());
         }
         else
         {
            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());
         }
         else
        ui->label->move(ui->label->x()+10,ui->label->y());
    }
    break;

    }

}
相关推荐
学嵌入式的小杨同学5 分钟前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
mftang2 小时前
Python 字符串拼接成字节详解
开发语言·python
四维碎片2 小时前
【Qt】UDP跨平台调试工具
qt·学习·udp
jasligea2 小时前
构建个人智能助手
开发语言·python·自然语言处理
kokunka2 小时前
【源码+注释】纯C++小游戏开发之射击小球游戏
开发语言·c++·游戏
踏过山河,踏过海3 小时前
【用ui文件做个简单工具的开发,为什么修改完ui后,程序重新编译运行后,GUI界面还是不变呢?】
qt·ui
云栖梦泽3 小时前
易语言开发从入门到精通:补充篇·网络编程进阶+实用爬虫开发·API集成·代理IP配置·异步请求·防封禁优化
开发语言
java1234_小锋3 小时前
Java高频面试题:SpringBoot为什么要禁止循环依赖?
java·开发语言·面试
铅笔侠_小龙虾3 小时前
Flutter Demo
开发语言·javascript·flutter
2501_944525543 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 账户详情页面
android·java·开发语言·前端·javascript·flutter