qt如何实现拖拽

 时间:2024-10-28 22:22:19

本文以实例的形式,一步步来说明如何通过拖拽,打开一个文本文件

工具/原料

qt

打开文本文件

1、新建一个QTextEdit的子类C怡觎现喾MyTextEdit。该类在构造函数数中,通过传入的文件名打开文件,并显示在QTextEdit中

qt如何实现拖拽
qt如何实现拖拽

2、在MainWindow中添加QTabWidget对象。调用setCentralWi蟠校盯昂dget设置QTabWi颊俄岿髭dget为主窗口。在QTabWidget中添加一个tab页,该tab页的widget就是上一步新建的CMyTextEdit

qt如何实现拖拽
qt如何实现拖拽

3、运行效果如下

qt如何实现拖拽

拖拽打开文件

1、拖拽打开文件,这里实现两个函数drapEnterEent和dropEvent事件

qt如何实现拖拽

2、设置MainWindow接受拖拽事件

qt如何实现拖拽

3、在dragEnterEvent函数中,判断是不是txt格式的文件,如果是就接收,否茸垂扌馔则拒绝在dropEvent函数中,获取拖拽文件的路径,并打开这里主要通过QMimeData结构体存储拖拽文件信息

qt如何实现拖拽

4、运行之后,拖拽第一个文件到窗口,可以正常打开再拖拽一个文件,可以看到,文件2的路径显示在了文件1的内容里

qt如何实现拖拽

5、这是由于,拖拽文件在QTextEdit上,它接收了拖拽事件。设置QTextEdit不接收拖拽事件

qt如何实现拖拽

6、这样就可以拖拽多个文件了

qt如何实现拖拽
  • CMD:[3]获取驱动器或文件夹内的文件列表
  • navicate如何美化sql查询语句
  • weblogic被管节点启动报错transport error 202
  • VS2010怎么实现点击按钮自动打开EXCEL文档
  • C#如何连接access数据库
  • 热门搜索
    国史党史手抄报资料 健康教育手抄报资料 圣诞节手抄报内容英文 手抄报的花边怎么画 关于梅花的手抄报 垃圾减量分类手抄报 英语手抄报黑白 保护森林手抄报 关于手抄报的图画 文明礼仪知识手抄报