9.1QTday3作业

news2025/1/25 9:14:27

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()<<"键盘被按下了"<<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()-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 思维导图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/965394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL知识点合集(最新)

SQL执行顺序 left join on and 和 inner join on and的多条件查询区别 left join on后面的and条件判断字段必须是左表 inner join on后面的and条件判断字段可以是左表或者右表 -- 查询一个课程包含那些题 SELECT c.id,t.title,t.id from course c left JOIN topical t ON t.cou…

Qt +VTK+Cmake 编译和环境配置(第三篇,高级篇, 已解决)

上篇说了&#xff0c;Cmake 虽然可以成功的build&#xff0c;但是大部分人都选择的是VS编译&#xff0c;没有人选择Qt自带的编译器编译。 在build文件夹 shift右键 进入cmd串口&#xff0c;执行mingw32-make mingw32-make 报错&#xff01;&#xff01;&#xff01;&#x…

Springboot整合logback多节点日志文件加端口号区分

描述&#xff1a;正常情况下&#xff1a;在Springboot 项目的resources目录下创建一个logback-spring.xml的日志配置文件&#xff0c;简单配置如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?><configuration debug"false"&g…

jQuery成功之路——jQuery的DOM操作简单易懂

jQuery的DOM操作 1.jQuery操作内容 jQuery操作内容 1. text() 获取或修改文本内容 类似于 dom.innerText 2. html() 获取或修改html内容 类似 dom.innerHTML 注意: 1. text() 是获取设置所有 2. html() 是获取第一个,设置所有 <!DOCTYPE html> <html lang"zh…

Linux字符设备中的两个重要结构体(file、inode)

https://www.cnblogs.com/chen-farsight/p/6177870.html

PPT分享:EasyDarwin行业赋能 | 一种效率提升10倍的音视频开发方法

EasyAVFilter本质上就是将ffmpeg.exe改造成了动态库, 方便应用程序集成ffmpeg的各项功能&#xff1b; 详细信息可以直接看https://www.easydarwin.org/tools/153.html&#xff0c;具体用法和场景&#xff0c;看视频介绍&#xff1b;

OpenCV(十四):ROI区域截取

在OpenCV中&#xff0c;你可以使用Rect对象或cv::Range来截取图像的感兴趣区域&#xff08;Region of Interest&#xff0c;ROI&#xff09;。 方法一&#xff1a;使用Rect对象截取图像 Rect_(_Tp _x&#xff0c; _Tp _y&#xff0c; _Tp _width,_Tp _height) Tp:数据类型&…

Postgresql数据库操作

修改Jsonb中某个键值 例如 如果为 1 则修改成男 0则为女 UPDATE "large_screen"."overall_statistics" SET statistics_data CASE WHEN statistics_data->>fault_type 故障 THEN jsonb_set(statistics_data, {fault_type}, "fault")WH…

【Locomotor运动模块】抓取:按朝向抓取(Orientation Handler)案例

文章目录 案例原理 案例 左右手柄抓宝剑时&#xff0c;宝剑的朝向不同 L35 一个手柄对应一个抓取点 原理 1、左右手柄分别抓取的是宝剑上的不同抓取点——GenericOrientation Handle通用朝向把手 它是我们设置“按朝向抓取”&#xff08;Orientation Handler&#xff09;时&…

漂浮岛场景WebGL效果解析

访问在线地址&#xff0c;代码在此处。 场景构图 该场景使用了3个岩石模型&#xff0c;一些通用的阙类植物、树木模型&#xff0c;还有空中的鸟类模型。 场景的渲染顺序&#xff1a;深度预通道&#xff0c;岩石&#xff0c;鸟类&#xff0c;天空&#xff0c;云粒子。 相机…

机器人中的数值优化(六)—— 线搜索最速下降法

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考&#xff0c;主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等&#xff0c;本系列文章篇数较多&#xff0c;不定期更新&#xff0c;上半部分介绍无约束优化&#xff0c;…

Python|小游戏之猫捉老鼠!!!

最近闲(mang)来(dao)无(fei)事(qi)&#xff0c;喜欢研究一些小游戏&#xff0c;本篇文章我主要介绍使用 turtle 写的一个很简单的猫捉老鼠的小游戏&#xff0c;主要是通过鼠标控制老鼠(Tom)的移动&#xff0c;躲避通过电脑控制的猫(Jerry)的追捕。 游戏主体思考逻辑&#xff1…

良品铺子聚焦高品质,打造零食王国

出品| 大力财经 文 | 魏力 8月29日&#xff0c;休闲食品企业良品铺子发布2023年半年报显示&#xff0c;实现营业收入39.87亿元&#xff0c;归母净利润1.89亿元。 值得注意的是&#xff0c;在全球经济增速不强的背景下&#xff0c;良品铺子上半年&#xff0c;新开店323家&#…

孙哥Spring源码第15集

第15集 BeanPostProcessor、BeanFactroyPostProcessor 【视频来源于&#xff1a;B站up主孙帅suns Spring源码视频】 1、Spring预先给我们提供的PostProcessor的有哪些 是怎么来的&#xff1f; 2、Spirng中非常重要的扩展点 BeanPostProcessor 和BeanFactoryPostProcesor Aut…

IA-SEG项目中DIAL-Filters(IAPM模块+LGF模块)使用解读

IA-SEG项目源自论文Improving Nighttime Driving-Scene Segmentation via Dual Image-adaptive Learnable Filters&#xff0c;其核心就是在原有的语义分割模型上添加了DIAL-Filters。而&#xff0c;DIAL-Filters由两部分组成&#xff0c;包括一个图像自适应处理模块&#xff0…

正运动携手EPLAN,以高效的电气设计助力运动控制的数字化设计

随着智能制造行业的快速发展&#xff0c;仪器仪表自动化的需求也越来越高。为了提高生产效率&#xff0c;降低成本&#xff0c;许多企业开始寻找一种集成电气、控制和数据管理的解决方案。 正运动技术作为国内领先的的运动控制和数字化解决方案供应商&#xff0c;已经来到前沿…

【Spring专题】Spring之事务底层源码解析

目录 特别声明前置知识Transactional简单介绍*Spring事务传播类型&#xff08;非常重要&#xff09;Transactional使用示例分析示例一&#xff1a;常用示例二&#xff1a;发生异常回滚示例三&#xff1a;try-catch【经典】示例四&#xff1a;REQUIRES_NEW&#xff0c;没有捕获异…

VS2019编译curl库

下载&#xff1a; curl-7.61.0.tar.gz 编译&#xff1a; 解压到一个文件下&#xff0c;然后右键以管理员权限运行buildconf.bat 编译x64的库使用的是x64 Native Tools Command Prompt for VS 2019 本机工具命令提示&#xff0c;如果想编译x86的库&#xff0c;可以选择x86 Nat…

2019CVPR Semantic Graph Convolutional Networks for 3D Human Pose Regression

基于语义图卷积网络的三维人体姿态回归 源码 https://github.com/garyzhao/SemGCN 摘要 在本文中&#xff0c;我们研究了学习图卷积网络&#xff08;GCN&#xff09;回归的问题。GCN的当前体系结构受限于卷积滤波器和共享的变换矩阵为的小感受野。为了解决这些限制&#xff…

逆向工程-架构真题(二十)

结构化程序设计采用自顶向下、逐步求精及模块化程序设计方法&#xff0c;通过&#xff08;&#xff09;三种基本控制结构可以构造出任何单入口单出口程序。 顺序、选择和嵌套顺序、分支和循环分支、并发和循环跳转、选择和并发 答案&#xff1a;B 解析&#xff1a; 结构化设…