您当前的位置: 首页 >  qt

命运之手

暂无认证

  • 1浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【零基础学QT】【032】Qt文件拖放功能

命运之手 发布时间:2019-12-03 11:43:03 ,浏览量:1


	//dragwindow.h
	
	class DragWindow : public QMainWindow {
	  private:
	    QLineEdit *lineEdit;
	
	  public:
	    DragWindow();
	    void dragEnterEvent(QDragEnterEvent *event);
	    void dropEvent(QDropEvent *event);
	};


	//dragwindow.cpp

	DragWindow::DragWindow() {
	    lineEdit = new QLineEdit;
	    setCentralWidget(lineEdit);
	    setAcceptDrops(true);
	}
	
	void DragWindow::dragEnterEvent(QDragEnterEvent *event) {
	    event->acceptProposedAction();
	}
	
	void DragWindow::dropEvent(QDropEvent *event) {
	    QUrl url = event->mimeData()->urls().first();
	    QString path = url.path();
	    QString name = url.fileName();
	    lineEdit->setText(name);
	}


	//main.cpp

	int main(int argc, char* argv[]) {
	    QApplication app(argc, argv);
	
	    DragWindow* w = new DragWindow();
	    w->setGeometry(0, 0, 800, 600);
	    w->show();
	
	    return app.exec();
	}

以上通过继承QMainWindow,重写其拖放方法来实现拖放功能 我们也可以使用前面的EventFilter来重写拖放事件 很多时候,我们只给QLineEdit添加拖放监听,并不想重新定义一个类,此时就需要使用EventFilter

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.2588s