不二如是 发表于 2016-10-11 16:32:45

76-拖放打开TxT(QDragEnterEvent)

本帖最后由 不二如是 于 2016-10-11 16:48 编辑

在“75”我们扫清了基本的概念。

现在就动手写一个程序。

流程就是


[*]当鼠标拖拽一个数据进入主窗口时,就会触发dragEnterEvent()事件处理函数
[*]获取其中MIME数据
[*]查看他是否包含URL路径(拖入文本文件实际就是拖入他的路径)
[*]即,event -> mimeData() -> hasUrls()实现
[*]有数据接收,否则忽略该事件
[*]当松开鼠标左键,将数据放入主窗口时就会触发dropEvent()事件来处理函数
[*]获取MIME数据中的URL列表,因为拖入的只有一个文件,所以获取列表中的第一个条目
[*]调用toLocakFile()函数将他转换为本地文件路径
[*]最后用QFile和QTextStream将文件中的数据读入编辑器中


好了,上程序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·









**** Hidden Message *****


ccitllz 发表于 2023-7-22 16:39:48

1
页: [1]
查看完整版本: 76-拖放打开TxT(QDragEnterEvent)