• 4305阅读
  • 0回复

[提问]QT拖放外部文件到Button控件 [复制链接]

上一主题 下一主题
离线dhy8281905
 

只看楼主 倒序阅读 楼主  发表于: 2011-03-17
用Qt creator 创建了界面   想实现从(windows)桌面拖放文本文件 到OpenButton控件上打开(不是拖放到主窗口)然后在textedit中显示
在网上搜索了关于 Drag and drop 的代码,但是不知道该再哪里定义。

我的文件如下(省略了自己定义的一些函数):
//                         MainWindow .ui

//                         MainWindow. h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QtGui>

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;


private slots:
    void on_pushButton_2_clicked();
    void on_openButton_clicked();
};


#endif // MAINWINDOW_H





//                  MainWindow. cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_openButton_clicked()
{
。。。。。。。。。
}



void MainWindow::on_pushButton_2_clicked()
{
    。。。。。。。。。。
}

void ui->openButton->dropEvent(QDropEvent *event)
{
    QList<QUrl> urls = event->mimeData()->urls();
        if (urls.isEmpty()) {
            return;
        }

        QString fileName = urls.first().toLocalFile();
        if (fileName.isEmpty()) {
            return;
        }
    
}



这样定义系统报错了,请问应该在哪里定义button 的dropEvent,界面是用creator生成的,也找不到button定义的地方。

快速回复
限100 字节
 
上一个 下一个