7-干货! QT -实现使用拖放打开文件,以及打开可拖动的图片

实现一个拖动打开图片,并可以在窗口内任何移动图片的应用程序。

实现上述程序,首先需要分开三个部分来完成。第一个部分是界面创建,第二个部分是实现拖动打开文件功能,第三个部分是在窗口内移动图片功能。

 

首先,第一步,界面创建。简单的说一下大致步骤:

1..新建QT的GUI项目,项目名称随意取,基类选择MainWindow。由于我用的是QT5版本,所以一定先在.pro配置文件中添加:Qt += widgets;(如果配置文件中已存在那就不需要添加)。

2..然后双击.ui进入设计模式。在设计模式中,在主设计区的“在这里输入”添加“文件(&N)”,然后就生成了一个主菜单,之后再文件里面的“在这里输入”添加“打开图片”。


3..在主设计区下面的动作编辑器中,双击action打开具体动作编辑器,把action名称改为action_Open。这样便于记忆与使用。然后在shortcut添加快捷键ctrl+o


界面部分大致上已经完成,下面步骤如果需要的时候会适当继续添加窗体部件。

 

现在是第二部分,实现拖动打开的方式。

 

对于一个应用程序,一般既可以从菜单栏中打开一个文件,同时可以用拖动的方式把桌面上的文件拖入到程序中打开。实现这个功能需要利用到拖动操作的拖动(Drag)和放下(Drop)两种操作。

需要了解:数据拖动在Qt中会被储存为MIME类型,在Qt中使用QMimeData类来表示MIME类型的数据,并且使用QDrag类来完成数据的转移。

 

先实现菜单打开的功能。

第一步,放图片的容器。在.ui文件里拖动label,然后把内容清空,然后在属性中的AcceptDrop设置为true,表示该部件允许被拖动(这里是为了拖动打开作铺垫)。之后打开的图片就放在label里面。

第二步,在mainwindow.h里面添加


#include

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值